diff --git a/.github/ISSUE_TEMPLATE/DMP_2024.yml b/.github/ISSUE_TEMPLATE/DMP_2024.yml new file mode 100644 index 00000000..89452adc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/DMP_2024.yml @@ -0,0 +1,264 @@ +name: DMP 2024 Project Template +description: List a new project for Dedicated Mentoring Program (DMP) 2024 +title: '[DMP 2024]: ' +labels: ['DMP 2024'] +body: + - type: textarea + id: ticket-description + validations: + required: true + attributes: + label: Ticket Contents + value: | + ## Description + [Provide a brief description of the feature, including why it is needed and what it will accomplish.] + + - type: textarea + id: ticket-goals + validations: + required: true + attributes: + label: Goals & Mid-Point Milestone + description: List the goals of the feature. Please add the goals that must be achieved by Mid-point check-in i.e 1.5 months into the coding period. + value: | + ## Goals + - [ ] [Goal 1] + - [ ] [Goal 2] + - [ ] [Goal 3] + - [ ] [Goal 4] + - [ ] [Goals Achieved By Mid-point Milestone] + + - type: textarea + id: ticket-setup + attributes: + label: Setup/Installation + description: Please list or link setup or installation guide (if any) + + - type: textarea + id: ticket-expected-outcome + attributes: + label: Expected Outcome + description: Describe in detail what the final product or result should look like and how it should behave. + + - type: textarea + id: ticket-acceptance-criteria + attributes: + label: Acceptance Criteria + description: List the acceptance criteria for this feature. + + - type: textarea + id: ticket-implementation-details + validations: + required: true + attributes: + label: Implementation Details + description: List any technical details about the proposed implementation, including any specific technologies that will be used. + + - type: textarea + id: ticket-mockups + attributes: + label: Mockups/Wireframes + description: Include links to any visual aids, mockups, wireframes, or diagrams that help illustrate what the final product should look like. This is not always necessary, but can be very helpful in many cases. + + - type: input + id: ticket-product + attributes: + label: Product Name + placeholder: Enter Product Name + validations: + required: true + + - type: dropdown + id: ticket-organisation + attributes: + label: Organisation Name + description: Enter Organisation Name + multiple: false + options: + - Bandhu + - Blockster Labs (CREDEBL) + - Civis + - Dhwani + - Dhiway + - EGov + - EkShop Marketplace + - FIDE + - If Me + - Key Education Foundation + - Norwegian Meteorological Institute + - Planet Read + - Project Second Chance + - Reap Benefit + - SamagraX + - ShikshaLokam + - Tech4Dev + - Tekdi + - The Mifos Initiative + - Tibil + - Ushahidi + - Arghyam + - Piramal Swasthya Management Research Institute + validations: + required: true + + - type: dropdown + id: ticket-governance-domain + attributes: + label: Domain + options: + - ⁠Healthcare + - ⁠Education + - Financial Inclusion + - ⁠Livelihoods + - ⁠Skilling + - ⁠Learning & Development + - ⁠Agriculture + - ⁠Service Delivery + - Open Source Library + - Water + - Identity & Digital Credentialing + validations: + required: true + + - type: dropdown + id: ticket-technical-skills-required + attributes: + label: Tech Skills Needed + description: Select the technologies needed for this ticket (use Ctrl or Command to select multiple) + multiple: true + options: + - .NET + - Angular + - Artificial Intelligence + - ASP.NET + - Astro.js + - AWS + - Babel + - Bootstrap + - C# + - Chart.js + - CI/CD + - Computer Vision + - CORS + - cURL + - Cypress + - D3.js + - Database + - Debugging + - Deno + - Design + - DevOps + - Django + - Docker + - Electron + - ESLint + - Express.js + - Feature + - Flask + - Go + - GraphQL + - HTML + - Ionic + - Jest + - Java + - JavaScript + - Jenkins + - JWT + - Kubernetes + - Laravel + - Machine Learning + - Maintenance + - Markdown + - Material-UI + - Microservices + - MongoDB + - Mobile + - Mockups + - Mocha + - Natural Language Processing + - NATS Messaging + - NestJS + - Next.js + - Node.js + - NUnit + - OAuth + - Performance Improvement + - Prettier + - Python + - Question + - React + - React Native + - Redux + - RESTful APIs + - Ruby + - Ruby on Rails + - Rust + - Scala + - Security + - Selenium + - SEO + - Serverless + - Solidity + - Spring Boot + - SQL + - Swagger + - Tailwind CSS + - Test + - Testing Library + - Three.js + - TypeScript + - UI/UX/Design + - Virtual Reality + - Vue.js + - WebSockets + - Webpack + - Other + validations: + required: true + + - type: textarea + id: ticket-mentors + attributes: + label: Mentor(s) + description: Please tag relevant mentors for the ticket + validations: + required: true + + - type: dropdown + id: ticket-category + attributes: + label: Category + description: Choose the categories that best describe your ticket + multiple: true + options: + - API + - Analytics + - Accessibility + - Backend + - Breaking Change + - Beginner Friendly + - Configuration + - CI/CD + - Database + - Data Science + - Deprecation + - Documentation + - Deployment + - Frontend + - Internationalization + - Localization + - Machine Learning + - Maintenance + - Mobile + - Performance Improvement + - Question + - Refactoring + - Research + - Needs Reproduction + - SEO + - Security + - Testing + - AI + - Other + validations: + required: true diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 3d4bb2f1..de3f5b0a 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -22,7 +22,7 @@ jobs: - name: Setup NodeJS uses: actions/setup-node@v3 with: - node-version: 18 + node-version: 18.19.0 cache: 'yarn' - name: Install dependencies diff --git a/Dockerfile b/Dockerfile index 453221e6..c9f23ad8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,48 +1,80 @@ -FROM ubuntu:20.04 +# FROM ubuntu:20.04 -ENV DEBIAN_FRONTEND noninteractive +# ENV DEBIAN_FRONTEND noninteractive -RUN apt-get update -y && apt-get install -y \ - software-properties-common \ - apt-transport-https \ - curl \ - # Only needed to build indy-sdk - build-essential +# RUN apt-get update -y && apt-get install -y \ +# software-properties-common \ +# apt-transport-https \ +# curl \ +# # Only needed to build indy-sdk +# build-essential -# libindy -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88 -RUN add-apt-repository "deb https://repo.sovrin.org/sdk/deb bionic stable" +# # nodejs +# # RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash +# # RUN /bin/bash -c "source /root/.nvm/nvm.sh && nvm install 18 && nvm use 18" -# nodejs -# RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash -# RUN /bin/bash -c "source /root/.nvm/nvm.sh && nvm install 18 && nvm use 18" +# RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - -RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - +# # yarn +# RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ +# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list -# yarn -RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list +# # install depdencies +# RUN apt-get update -y && apt-get install -y --allow-unauthenticated \ +# nodejs -# install depdencies -RUN apt-get update -y && apt-get install -y --allow-unauthenticated \ - libindy \ - nodejs +# # Install yarn seperately due to `no-install-recommends` to skip nodejs install +# RUN apt-get install -y --no-install-recommends yarn + +# RUN yarn global add patch-package +# # AFJ specifc setup +# WORKDIR /www + +# COPY bin ./bin +# COPY package.json ./package.json +# COPY patches ./patches + +# RUN yarn install --production + +# COPY build ./build +# # COPY libindy_vdr.so /usr/lib/ +# # COPY libindy_vdr.so /usr/local/lib/ + +# ENTRYPOINT [ "./bin/afj-rest.js", "start" ] + + +# Stage 1: Builder stage +FROM node:18.19.0 AS builder + +WORKDIR /app + +# Copy package.json and yarn.lock files +COPY package.json yarn.lock ./ + +# Install dependencies +RUN yarn install --frozen-lockfile + +# Copy the rest of the application code +COPY . . -# Install yarn seperately due to `no-install-recommends` to skip nodejs install -RUN apt-get install -y --no-install-recommends yarn - RUN yarn global add patch-package -# AFJ specifc setup -WORKDIR /www -COPY bin ./bin -COPY package.json ./package.json -COPY patches ./patches +# Build the application +RUN yarn build + +# Stage 2: Production stage +FROM node:18.19.0-slim + +WORKDIR /app + +# Copy built files and node_modules from the builder stage +COPY --from=builder /app/build ./build +COPY --from=builder /app/bin ./bin +COPY --from=builder /app/package.json ./ +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/patches ./patches -RUN yarn install --production +# Set entry point +ENTRYPOINT ["node", "./bin/afj-rest.js", "start"] -COPY build ./build -COPY libindy_vdr.so /usr/lib/ -COPY libindy_vdr.so /usr/local/lib/ -ENTRYPOINT [ "./bin/afj-rest.js", "start" ] diff --git a/libindy_vdr.so b/libindy_vdr.so deleted file mode 100755 index 575f9fc2..00000000 Binary files a/libindy_vdr.so and /dev/null differ diff --git a/package.json b/package.json index 836ee977..611db9c0 100644 --- a/package.json +++ b/package.json @@ -37,32 +37,28 @@ "validate": "yarn lint && yarn check-types && yarn check-format" }, "dependencies": { - "@aries-framework/anoncreds": "^0.4.2", - "@aries-framework/anoncreds-rs": "^0.4.2", - "@aries-framework/askar": "^0.4.2", - "@aries-framework/core": "^0.4.2", - "@aries-framework/indy-vdr": "^0.4.2", - "@aries-framework/node": "^0.4.2", - "@aries-framework/push-notifications": "^0.6.0", - "@aries-framework/question-answer": "^0.4.2", - "@aries-framework/tenants": "^0.4.2", - "@ayanworks/credo-polygon-w3c-module": "0.0.2-alpha.0", - "@hyperledger/anoncreds-nodejs": "^0.1.0", - "@hyperledger/aries-askar-nodejs": "^0.1.1", - "@hyperledger/indy-vdr-nodejs": "^0.1.0", - "@sphereon/pex": "^2.2.2", - "@sphereon/pex-models": "^2.1.2", - "@sphereon/ssi-types": "^0.17.5", + "@ayanworks/credo-polygon-w3c-module": "0.0.2-alpha.7", + "@credo-ts/anoncreds": "0.5.1", + "@credo-ts/askar": "0.5.1", + "@credo-ts/core": "0.5.1", + "@credo-ts/indy-vdr": "0.5.1", + "@credo-ts/node": "0.5.1", + "@credo-ts/push-notifications": "^0.7.0", + "@credo-ts/question-answer": "0.5.1", + "@credo-ts/tenants": "0.5.1", + "@hyperledger/anoncreds-nodejs": "0.2.1", + "@hyperledger/aries-askar-nodejs": "0.2.0", + "@hyperledger/indy-vdr-nodejs": "0.2.0", "@tsoa/runtime": "^6.0.0", "@types/node-fetch": "^2.6.4", "@types/ref-struct-di": "^1.1.9", - "@types/ws": "^7.4.7", + "@types/ws": "^8.5.4", "axios": "^1.4.0", "body-parser": "^1.20.0", "cors": "^2.8.5", "express": "^4.18.1", "express-rate-limit": "^7.1.5", - "jsonpath": "^1.1.1", + "joi": "^17.12.3", "jsonwebtoken": "^9.0.2", "node-fetch": "^2.6.7", "patch-package": "^8.0.0", @@ -72,7 +68,6 @@ "tslog": "^3.3.3", "tsoa": "^6.0.1", "tsyringe": "^4.8.0", - "ws": "^7.5.3", "yargs": "^17.3.1" }, "devDependencies": { @@ -81,16 +76,14 @@ "@types/eslint": "^8.40.2", "@types/express": "^4.17.13", "@types/jest": "^27.0.3", - "@types/jsonpath": "^0.2.4", "@types/jsonwebtoken": "^9.0.5", "@types/multer": "^1.4.7", - "@types/node": "^16.7.10", - "@types/node-fetch": "^2.6.4", + "@types/node": "^18.18.8", + "@types/ref-array-di": "^1.2.8", "@types/ref-struct-di": "^1.1.9", "@types/supertest": "^2.0.12", "@types/swagger-ui-express": "^4.1.3", "@types/uuid": "^8.3.4", - "@types/ws": "^7.4.7", "@typescript-eslint/eslint-plugin": "^6.19.1", "@typescript-eslint/parser": "^6.19.1", "eslint": "^7.32.0", @@ -106,10 +99,7 @@ "ts-node-dev": "^2.0.0", "typescript": "^5.3.3" }, - "resolutions": { - "ref-napi": "npm:@2060.io/ref-napi" - }, "engines": { - "node": ">= 18" + "node": "18.19.0" } } diff --git a/patches/@aries-framework+askar+0.4.2.patch b/patches/@aries-framework+askar+0.4.2.patch deleted file mode 100644 index b2eda6e6..00000000 --- a/patches/@aries-framework+askar+0.4.2.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js b/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js -index 122d1d8..e68a70c 100644 ---- a/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js -+++ b/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js -@@ -10,6 +10,7 @@ const keyTypeToAskarAlg = { - [core_1.KeyType.Bls12381g2]: aries_askar_shared_1.KeyAlgs.Bls12381G2, - [core_1.KeyType.Bls12381g1g2]: aries_askar_shared_1.KeyAlgs.Bls12381G1G2, - [core_1.KeyType.P256]: aries_askar_shared_1.KeyAlgs.EcSecp256r1, -+ [core_1.KeyType.K256]: aries_askar_shared_1.KeyAlgs.EcSecp256k1, - }; - const isKeyTypeSupportedByAskar = (keyType) => keyType in keyTypeToAskarAlg; - exports.isKeyTypeSupportedByAskar = isKeyTypeSupportedByAskar; -diff --git a/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js.map b/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js.map -index 8ff71a0..9ab5e68 100644 ---- a/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js.map -+++ b/node_modules/@aries-framework/askar/build/utils/askarKeyTypes.js.map -@@ -1 +1 @@ --{"version":3,"file":"askarKeyTypes.js","sourceRoot":"","sources":["../../src/utils/askarKeyTypes.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAC/C,wEAAyD;AAEzD,MAAM,iBAAiB,GAAG;IACxB,CAAC,cAAO,CAAC,OAAO,CAAC,EAAE,4BAAO,CAAC,OAAO;IAClC,CAAC,cAAO,CAAC,MAAM,CAAC,EAAE,4BAAO,CAAC,MAAM;IAChC,CAAC,cAAO,CAAC,UAAU,CAAC,EAAE,4BAAO,CAAC,UAAU;IACxC,CAAC,cAAO,CAAC,UAAU,CAAC,EAAE,4BAAO,CAAC,UAAU;IACxC,CAAC,cAAO,CAAC,YAAY,CAAC,EAAE,4BAAO,CAAC,YAAY;IAC5C,CAAC,cAAO,CAAC,IAAI,CAAC,EAAE,4BAAO,CAAC,WAAW;CAC3B,CAAA;AAEH,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,IAAI,iBAAiB,CAAA;AAA9E,QAAA,yBAAyB,6BAAqD;AAE9E,QAAA,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAc,CAAA"} -\ No newline at end of file -+{"version":3,"file":"askarKeyTypes.js","sourceRoot":"","sources":["../../src/utils/askarKeyTypes.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAC/C,wEAAyD;AAEzD,MAAM,iBAAiB,GAAG;IACxB,CAAC,cAAO,CAAC,OAAO,CAAC,EAAE,4BAAO,CAAC,OAAO;IAClC,CAAC,cAAO,CAAC,MAAM,CAAC,EAAE,4BAAO,CAAC,MAAM;IAChC,CAAC,cAAO,CAAC,UAAU,CAAC,EAAE,4BAAO,CAAC,UAAU;IACxC,CAAC,cAAO,CAAC,UAAU,CAAC,EAAE,4BAAO,CAAC,UAAU;IACxC,CAAC,cAAO,CAAC,YAAY,CAAC,EAAE,4BAAO,CAAC,YAAY;IAC5C,CAAC,cAAO,CAAC,IAAI,CAAC,EAAE,4BAAO,CAAC,WAAW;IACnC,CAAC,cAAO,CAAC,IAAI,CAAC,EAAE,4BAAO,CAAC,WAAW;CAC3B,CAAA;AAEH,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,IAAI,iBAAiB,CAAA;AAA9E,QAAA,yBAAyB,6BAAqD;AAE9E,QAAA,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAc,CAAA"} -\ No newline at end of file diff --git a/patches/@aries-framework+core+0.4.2.patch b/patches/@aries-framework+core+0.4.2.patch deleted file mode 100644 index 7a43d8b9..00000000 --- a/patches/@aries-framework+core+0.4.2.patch +++ /dev/null @@ -1,2134 +0,0 @@ -diff --git a/node_modules/@aries-framework/core/build/agent/AgentModules.d.ts b/node_modules/@aries-framework/core/build/agent/AgentModules.d.ts -index 973ad00..fc56f3d 100644 ---- a/node_modules/@aries-framework/core/build/agent/AgentModules.d.ts -+++ b/node_modules/@aries-framework/core/build/agent/AgentModules.d.ts -@@ -6,6 +6,7 @@ import { CacheModule } from '../modules/cache'; - import { ConnectionsModule } from '../modules/connections'; - import { CredentialsModule } from '../modules/credentials'; - import { DidsModule } from '../modules/dids'; -+import { DifPresentationExchangeModule } from '../modules/dif-presentation-exchange'; - import { DiscoverFeaturesModule } from '../modules/discover-features'; - import { GenericRecordsModule } from '../modules/generic-records'; - import { MessagePickupModule } from '../modules/message-pìckup'; -@@ -106,6 +107,7 @@ declare function getDefaultAgentModules(): { - readonly oob: () => OutOfBandModule; - readonly w3cCredentials: () => W3cCredentialsModule; - readonly cache: () => CacheModule; -+ readonly pex: () => DifPresentationExchangeModule; - }; - /** - * Extend the provided modules object with the default agent modules. If the modules property already contains a module with the same -diff --git a/node_modules/@aries-framework/core/build/agent/AgentModules.js b/node_modules/@aries-framework/core/build/agent/AgentModules.js -index 01a0b46..f847ba1 100644 ---- a/node_modules/@aries-framework/core/build/agent/AgentModules.js -+++ b/node_modules/@aries-framework/core/build/agent/AgentModules.js -@@ -6,6 +6,7 @@ const cache_1 = require("../modules/cache"); - const connections_1 = require("../modules/connections"); - const credentials_1 = require("../modules/credentials"); - const dids_1 = require("../modules/dids"); -+const dif_presentation_exchange_1 = require("../modules/dif-presentation-exchange"); - const discover_features_1 = require("../modules/discover-features"); - const generic_records_1 = require("../modules/generic-records"); - const message_p_ckup_1 = require("../modules/message-p\u00ECckup"); -@@ -34,6 +35,7 @@ function getDefaultAgentModules() { - oob: () => new oob_1.OutOfBandModule(), - w3cCredentials: () => new vc_1.W3cCredentialsModule(), - cache: () => new cache_1.CacheModule(), -+ pex: () => new dif_presentation_exchange_1.DifPresentationExchangeModule(), - }; - } - /** -diff --git a/node_modules/@aries-framework/core/build/agent/AgentModules.js.map b/node_modules/@aries-framework/core/build/agent/AgentModules.js.map -index 766ca70..6ea2ae3 100644 ---- a/node_modules/@aries-framework/core/build/agent/AgentModules.js.map -+++ b/node_modules/@aries-framework/core/build/agent/AgentModules.js.map -@@ -1 +1 @@ --{"version":3,"file":"AgentModules.js","sourceRoot":"","sources":["../../src/agent/AgentModules.ts"],"names":[],"mappings":";;;AAIA,8DAA+D;AAC/D,4CAA8C;AAC9C,wDAA0D;AAC1D,wDAA0D;AAC1D,0CAA4C;AAC5C,oEAAqE;AACrE,gEAAiE;AACjE,mEAA+D;AAC/D,wCAAgD;AAChD,8CAAgD;AAChD,gDAA6E;AAC7E,sCAAoD;AACpD,sCAAwC;AAiGxC;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAiB,EAAE;QAC1C,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAiB,EAAE;QAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAY,EAAE;QAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAc,EAAE;QACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,kCAAwB,EAAE;QACxD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,oCAAmB,EAAE;QAC9C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,oCAAmB,EAAE;QAC9C,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,sCAAoB,EAAE;QAChD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,0CAAsB,EAAE;QAC7C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAU,EAAE;QAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAY,EAAE;QAChC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAe,EAAE;QAChC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,yBAAoB,EAAE;QAChD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAW,EAAE;KACtB,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,+BAA+B,CAC7C,OAAsB;IAEtB,MAAM,eAAe,qBAAgC,OAAO,CAAE,CAAA;IAC9D,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IAEpD,sDAAsD;IACtD,KAAK,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClF,uDAAuD;QACvD,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;YAAE,SAAQ;QAE3C,eAAe,CAAC,SAAS,CAAC,GAAG,mBAAmB,EAAE,CAAA;KACnD;IAED,OAAO,eAAqD,CAAA;AAC9D,CAAC;AAfD,0EAeC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,WAAW,CACzB,iBAAoC,EACpC,eAA0B,EAAE;IAE5B,yFAAyF;IACzF,oCAAoC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QAClG,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,OAAO,GAAG,CAAA;QAE3B,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEzD,kBAAkB;QAClB,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,GAAG,CAAA;QAClD,uCAAY,GAAG,KAAE,CAAC,SAAS,CAAC,EAAE,WAAW,IAAE;IAC7C,CAAC,EAAE,EAAE,CAA2B,CAAA;IAEhC,OAAO,GAAG,CAAA;AACZ,CAAC;AAlBD,kCAkBC"} -\ No newline at end of file -+{"version":3,"file":"AgentModules.js","sourceRoot":"","sources":["../../src/agent/AgentModules.ts"],"names":[],"mappings":";;;AAIA,8DAA+D;AAC/D,4CAA8C;AAC9C,wDAA0D;AAC1D,wDAA0D;AAC1D,0CAA4C;AAC5C,oFAAoF;AACpF,oEAAqE;AACrE,gEAAiE;AACjE,mEAA+D;AAC/D,wCAAgD;AAChD,8CAAgD;AAChD,gDAA6E;AAC7E,sCAAoD;AACpD,sCAAwC;AAiGxC;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAiB,EAAE;QAC1C,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAiB,EAAE;QAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAY,EAAE;QAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAc,EAAE;QACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,kCAAwB,EAAE;QACxD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,oCAAmB,EAAE;QAC9C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,oCAAmB,EAAE;QAC9C,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,sCAAoB,EAAE;QAChD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,0CAAsB,EAAE;QAC7C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAU,EAAE;QAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAY,EAAE;QAChC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAe,EAAE;QAChC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,yBAAoB,EAAE;QAChD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAW,EAAE;QAC9B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,yDAA6B,EAAE;KACtC,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,+BAA+B,CAC7C,OAAsB;IAEtB,MAAM,eAAe,qBAAgC,OAAO,CAAE,CAAA;IAC9D,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAA;IAEpD,sDAAsD;IACtD,KAAK,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClF,uDAAuD;QACvD,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;YAAE,SAAQ;QAE3C,eAAe,CAAC,SAAS,CAAC,GAAG,mBAAmB,EAAE,CAAA;KACnD;IAED,OAAO,eAAqD,CAAA;AAC9D,CAAC;AAfD,0EAeC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,WAAW,CACzB,iBAAoC,EACpC,eAA0B,EAAE;IAE5B,yFAAyF;IACzF,oCAAoC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QAClG,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,OAAO,GAAG,CAAA;QAE3B,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEzD,kBAAkB;QAClB,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,GAAG,CAAA;QAClD,uCAAY,GAAG,KAAE,CAAC,SAAS,CAAC,EAAE,WAAW,IAAE;IAC7C,CAAC,EAAE,EAAE,CAA2B,CAAA;IAEhC,OAAO,GAAG,CAAA;AACZ,CAAC;AAlBD,kCAkBC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/agent/EnvelopeService.js b/node_modules/@aries-framework/core/build/agent/EnvelopeService.js -index 12261a9..0238d59 100644 ---- a/node_modules/@aries-framework/core/build/agent/EnvelopeService.js -+++ b/node_modules/@aries-framework/core/build/agent/EnvelopeService.js -@@ -32,12 +32,14 @@ let EnvelopeService = class EnvelopeService { - let encryptedMessage = await agentContext.wallet.pack(message, recipientKeysBase58, senderKeyBase58 !== null && senderKeyBase58 !== void 0 ? senderKeyBase58 : undefined); - // If the message has routing keys (mediator) pack for each mediator - for (const routingKeyBase58 of routingKeysBase58) { -+ console.log(`message['@type']`, JSON.stringify(message['@type'])) - const forwardMessage = new messages_1.ForwardMessage({ - // Forward to first recipient key - to: recipientKeysBase58[0], - message: encryptedMessage, - }); - recipientKeysBase58 = [routingKeyBase58]; -+ forwardMessage["messageType"] = message['@type']; - this.logger.debug('Forward message created', forwardMessage); - const forwardJson = forwardMessage.toJSON({ - useDidSovPrefixWhereAllowed: agentContext.config.useDidSovPrefixWhereAllowed, -diff --git a/node_modules/@aries-framework/core/build/constants.d.ts b/node_modules/@aries-framework/core/build/constants.d.ts -index b33a121..48ef47a 100644 ---- a/node_modules/@aries-framework/core/build/constants.d.ts -+++ b/node_modules/@aries-framework/core/build/constants.d.ts -@@ -7,5 +7,6 @@ export declare const InjectionSymbols: { - Stop$: symbol; - FileSystem: symbol; - Wallet: symbol; -+ DifPresentationExchangeService: symbol; - }; - export declare const DID_COMM_TRANSPORT_QUEUE = "didcomm:transport/queue"; -diff --git a/node_modules/@aries-framework/core/build/constants.js b/node_modules/@aries-framework/core/build/constants.js -index c028c7a..cc4651f 100644 ---- a/node_modules/@aries-framework/core/build/constants.js -+++ b/node_modules/@aries-framework/core/build/constants.js -@@ -10,6 +10,7 @@ exports.InjectionSymbols = { - Stop$: Symbol('Stop$'), - FileSystem: Symbol('FileSystem'), - Wallet: Symbol('Wallet'), -+ DifPresentationExchangeService: Symbol('DifPresentationExchangeService'), - }; - exports.DID_COMM_TRANSPORT_QUEUE = 'didcomm:transport/queue'; - //# sourceMappingURL=constants.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/constants.js.map b/node_modules/@aries-framework/core/build/constants.js.map -index 9ef98cf..e22430d 100644 ---- a/node_modules/@aries-framework/core/build/constants.js.map -+++ b/node_modules/@aries-framework/core/build/constants.js.map -@@ -1 +1 @@ --{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;CACzB,CAAA;AAEY,QAAA,wBAAwB,GAAG,yBAAyB,CAAA"} -\ No newline at end of file -+{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,8BAA8B,EAAE,MAAM,CAAC,gCAAgC,CAAC;CACzE,CAAA;AAEY,QAAA,wBAAwB,GAAG,yBAAyB,CAAA"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/crypto/KeyType.d.ts b/node_modules/@aries-framework/core/build/crypto/KeyType.d.ts -index d1369ea..337d40e 100644 ---- a/node_modules/@aries-framework/core/build/crypto/KeyType.d.ts -+++ b/node_modules/@aries-framework/core/build/crypto/KeyType.d.ts -@@ -6,5 +6,6 @@ export declare enum KeyType { - X25519 = "x25519", - P256 = "p256", - P384 = "p384", -- P521 = "p521" -+ P521 = "p521", -+ K256 = "k256" - } -diff --git a/node_modules/@aries-framework/core/build/crypto/KeyType.js b/node_modules/@aries-framework/core/build/crypto/KeyType.js -index dfb6a39..ebb1896 100644 ---- a/node_modules/@aries-framework/core/build/crypto/KeyType.js -+++ b/node_modules/@aries-framework/core/build/crypto/KeyType.js -@@ -11,5 +11,6 @@ var KeyType; - KeyType["P256"] = "p256"; - KeyType["P384"] = "p384"; - KeyType["P521"] = "p521"; -+ KeyType["K256"] = "k256"; - })(KeyType = exports.KeyType || (exports.KeyType = {})); - //# sourceMappingURL=KeyType.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/crypto/KeyType.js.map b/node_modules/@aries-framework/core/build/crypto/KeyType.js.map -index e392656..9f23300 100644 ---- a/node_modules/@aries-framework/core/build/crypto/KeyType.js.map -+++ b/node_modules/@aries-framework/core/build/crypto/KeyType.js.map -@@ -1 +1 @@ --{"version":3,"file":"KeyType.js","sourceRoot":"","sources":["../../src/crypto/KeyType.ts"],"names":[],"mappings":";;;AAAA,IAAY,OASX;AATD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,wCAA6B,CAAA;IAC7B,oCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;AACf,CAAC,EATW,OAAO,GAAP,eAAO,KAAP,eAAO,QASlB"} -\ No newline at end of file -+{"version":3,"file":"KeyType.js","sourceRoot":"","sources":["../../src/crypto/KeyType.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,wCAA6B,CAAA;IAC7B,oCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,wBAAa,CAAA;AACf,CAAC,EAVW,OAAO,GAAP,eAAO,KAAP,eAAO,QAUlB"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/crypto/keyUtils.js b/node_modules/@aries-framework/core/build/crypto/keyUtils.js -index 6963c44..7917482 100644 ---- a/node_modules/@aries-framework/core/build/crypto/keyUtils.js -+++ b/node_modules/@aries-framework/core/build/crypto/keyUtils.js -@@ -13,6 +13,7 @@ function isValidSeed(seed, keyType) { - [KeyType_1.KeyType.P256]: 64, - [KeyType_1.KeyType.P384]: 64, - [KeyType_1.KeyType.P521]: 64, -+ [KeyType_1.KeyType.K256]: 64, - }; - return utils_1.Buffer.isBuffer(seed) && seed.length >= minimumSeedLength[keyType]; - } -@@ -27,6 +28,7 @@ function isValidPrivateKey(privateKey, keyType) { - [KeyType_1.KeyType.P256]: 32, - [KeyType_1.KeyType.P384]: 48, - [KeyType_1.KeyType.P521]: 66, -+ [KeyType_1.KeyType.K256]: 32, - }; - return utils_1.Buffer.isBuffer(privateKey) && privateKey.length === privateKeyLength[keyType]; - } -@@ -41,6 +43,7 @@ function isSigningSupportedForKeyType(keyType) { - [KeyType_1.KeyType.Bls12381g1]: true, - [KeyType_1.KeyType.Bls12381g2]: true, - [KeyType_1.KeyType.Bls12381g1g2]: true, -+ [KeyType_1.KeyType.K256]: true, - }; - return keyTypeSigningSupportedMapping[keyType]; - } -@@ -55,6 +58,7 @@ function isEncryptionSupportedForKeyType(keyType) { - [KeyType_1.KeyType.Bls12381g1]: false, - [KeyType_1.KeyType.Bls12381g2]: false, - [KeyType_1.KeyType.Bls12381g1g2]: false, -+ [KeyType_1.KeyType.K256]: true, - }; - return keyTypeEncryptionSupportedMapping[keyType]; - } -diff --git a/node_modules/@aries-framework/core/build/crypto/keyUtils.js.map b/node_modules/@aries-framework/core/build/crypto/keyUtils.js.map -index 56f0cc0..9bff8f9 100644 ---- a/node_modules/@aries-framework/core/build/crypto/keyUtils.js.map -+++ b/node_modules/@aries-framework/core/build/crypto/keyUtils.js.map -@@ -1 +1 @@ --{"version":3,"file":"keyUtils.js","sourceRoot":"","sources":["../../src/crypto/keyUtils.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAEjC,uCAAmC;AAEnC,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAgB;IACxD,MAAM,iBAAiB,GAAG;QACxB,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,EAAE;QACrB,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,EAAE;QACpB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,EAAE;QACxB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,EAAE;QACxB,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,EAAE;QAC1B,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;QAClB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;QAClB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;KACV,CAAA;IAEV,OAAO,cAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC3E,CAAC;AAbD,kCAaC;AAED,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,OAAgB;IACpE,MAAM,gBAAgB,GAAG;QACvB,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,EAAE;QACrB,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,EAAE;QACpB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,EAAE;QACxB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,EAAE;QACxB,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,EAAE;QAC1B,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;QAClB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;QAClB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,EAAE;KACV,CAAA;IAEV,OAAO,cAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACvF,CAAC;AAbD,8CAaC;AAED,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,8BAA8B,GAAG;QACrC,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,IAAI;QACvB,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,KAAK;QACvB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,IAAI;QAC1B,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,IAAI;QAC1B,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,IAAI;KACpB,CAAA;IAEV,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAA;AAChD,CAAC;AAbD,oEAaC;AAED,SAAgB,+BAA+B,CAAC,OAAgB;IAC9D,MAAM,iCAAiC,GAAG;QACxC,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,KAAK;QACxB,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,IAAI;QACtB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;QACpB,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,KAAK;QAC3B,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,KAAK;QAC3B,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,KAAK;KACrB,CAAA;IAEV,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAA;AACnD,CAAC;AAbD,0EAaC"} -\ No newline at end of file -+{"version":3,"file":"keyUtils.js","sourceRoot":"","sources":["../../src/crypto/keyUtils.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js b/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js -index 3124287..686dbaa 100644 ---- a/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js -+++ b/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js -@@ -12,6 +12,7 @@ const multiCodecPrefixMap = { - 4608: KeyType_1.KeyType.P256, - 4609: KeyType_1.KeyType.P384, - 4610: KeyType_1.KeyType.P521, -+ 231: KeyType_1.KeyType.K256, - }; - function getKeyTypeByMultiCodecPrefix(multiCodecPrefix) { - const keyType = multiCodecPrefixMap[multiCodecPrefix]; -diff --git a/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js.map b/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js.map -index 96a01e5..9cc6970 100644 ---- a/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js.map -+++ b/node_modules/@aries-framework/core/build/crypto/multiCodecKey.js.map -@@ -1 +1 @@ --{"version":3,"file":"multiCodecKey.js","sourceRoot":"","sources":["../../src/crypto/multiCodecKey.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,4EAA4E;AAC5E,MAAM,mBAAmB,GAA4B;IACnD,GAAG,EAAE,iBAAO,CAAC,UAAU;IACvB,GAAG,EAAE,iBAAO,CAAC,UAAU;IACvB,GAAG,EAAE,iBAAO,CAAC,MAAM;IACnB,GAAG,EAAE,iBAAO,CAAC,OAAO;IACpB,GAAG,EAAE,iBAAO,CAAC,YAAY;IACzB,IAAI,EAAE,iBAAO,CAAC,IAAI;IAClB,IAAI,EAAE,iBAAO,CAAC,IAAI;IAClB,IAAI,EAAE,iBAAO,CAAC,IAAI;CACnB,CAAA;AAED,SAAgB,4BAA4B,CAAC,gBAAwB;IACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAErD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,gBAAgB,GAAG,CAAC,CAAA;KACnF;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AARD,oEAQC;AAED,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAA;IAEtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,GAAG,CAAC,CAAA;KAC9E;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;AACrB,CAAC;AATD,oEASC"} -\ No newline at end of file -+{"version":3,"file":"multiCodecKey.js","sourceRoot":"","sources":["../../src/crypto/multiCodecKey.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC,4EAA4E;AAC5E,MAAM,mBAAmB,GAA4B;IACnD,GAAG,EAAE,iBAAO,CAAC,UAAU;IACvB,GAAG,EAAE,iBAAO,CAAC,UAAU;IACvB,GAAG,EAAE,iBAAO,CAAC,MAAM;IACnB,GAAG,EAAE,iBAAO,CAAC,OAAO;IACpB,GAAG,EAAE,iBAAO,CAAC,YAAY;IACzB,IAAI,EAAE,iBAAO,CAAC,IAAI;IAClB,IAAI,EAAE,iBAAO,CAAC,IAAI;IAClB,IAAI,EAAE,iBAAO,CAAC,IAAI;IAClB,GAAG,EAAE,iBAAO,CAAC,IAAI;CAClB,CAAA;AAED,SAAgB,4BAA4B,CAAC,gBAAwB;IACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAErD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,gBAAgB,GAAG,CAAC,CAAA;KACnF;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AARD,oEAQC;AAED,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAA;IAEtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,GAAG,CAAC,CAAA;KAC9E;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;AACrB,CAAC;AATD,oEASC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.d.ts b/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.d.ts -index 8e10c7e..0605939 100644 ---- a/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.d.ts -+++ b/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.d.ts -@@ -1,4 +1,5 @@ - import type { JwsDetachedFormat, JwsFlattenedDetachedFormat } from '../../crypto/JwsTypes'; -+import { JsonValue } from '../../types'; - export interface AttachmentOptions { - id?: string; - description?: string; -@@ -10,7 +11,7 @@ export interface AttachmentOptions { - } - export interface AttachmentDataOptions { - base64?: string; -- json?: Record; -+ json?: JsonValue; - links?: string[]; - jws?: JwsDetachedFormat | JwsFlattenedDetachedFormat; - sha256?: string; -@@ -26,7 +27,7 @@ export declare class AttachmentData { - /** - * Directly embedded JSON data, when representing content inline instead of via links, and when the content is natively conveyable as JSON. Optional. - */ -- json?: Record; -+ json?: JsonValue; - /** - * A list of zero or more locations at which the content may be fetched. Optional. - */ -diff --git a/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.js.map b/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.js.map -index e2db3b8..61c77bc 100644 ---- a/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.js.map -+++ b/node_modules/@aries-framework/core/build/decorators/attachment/Attachment.js.map -@@ -1 +1 @@ --{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../src/decorators/attachment/Attachment.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../src/decorators/attachment/Attachment.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js -index cfba351..414c459 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js -@@ -10,6 +10,7 @@ const bls12381g1g2_1 = require("./bls12381g1g2"); - const bls12381g2_1 = require("./bls12381g2"); - const ed25519_1 = require("./ed25519"); - const keyDidJsonWebKey_1 = require("./keyDidJsonWebKey"); -+const secp256k1_1 = require("./secp256k1"); - const x25519_1 = require("./x25519"); - // TODO: Maybe we should make this dynamically? - const keyDidMapping = { -@@ -21,6 +22,7 @@ const keyDidMapping = { - [KeyType_1.KeyType.P256]: keyDidJsonWebKey_1.keyDidJsonWebKey, - [KeyType_1.KeyType.P384]: keyDidJsonWebKey_1.keyDidJsonWebKey, - [KeyType_1.KeyType.P521]: keyDidJsonWebKey_1.keyDidJsonWebKey, -+ [KeyType_1.KeyType.K256]: secp256k1_1.keyDidSecp256k1, - }; - /** - * Dynamically creates a mapping from verification method key type to the key Did interface -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js.map b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js.map -index e6f9a12..46769b4 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js.map -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/keyDidMapping.js.map -@@ -1 +1 @@ --{"version":3,"file":"keyDidMapping.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/key-type/keyDidMapping.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,qDAA4D;AAC5D,6CAAuD;AACvD,yEAAmH;AAEnH,6CAA+C;AAC/C,iDAAmD;AACnD,6CAA+C;AAC/C,uCAAyC;AACzC,yDAAqD;AACrD,qCAAuC;AAQvC,+CAA+C;AAC/C,MAAM,aAAa,GAAmC;IACpD,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,uBAAa;IAChC,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,qBAAY;IAC9B,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,6BAAgB;IACtC,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,6BAAgB;IACtC,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,iCAAkB;IAC1C,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;IAChC,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;IAChC,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;CACjC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAO,CAAC,CAAC,MAAM,CACnE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAC9E,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,CAAC,iCAC5B,WAAW,KACd,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,IACxC,EACF,EAAE,CACH,CAAA;IAED,uCACK,OAAO,GACP,SAAS,EACb;AACH,CAAC,EACD,EAAE,CACH,CAAA;AAED,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sCAAsC,OAAO,GAAG,CAAC,CAAA;KAChF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AARD,8DAQC;AAED,SAAgB,4BAA4B,CAAC,kBAAsC;IACjF,iFAAiF;IACjF,IAAI,IAAA,iCAAgB,EAAC,kBAAkB,CAAC,EAAE;QACxC,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,MAAM,IAAI,2BAAmB,CAC3B,yDAAyD,2DAA0C,EAAE,CACtG,CAAA;SACF;QAED,OAAO,IAAA,oBAAc,EAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAA;KAC3D;IAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sDAAsD,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAA;KAChH;IAED,OAAO,MAAM,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAA;AAChE,CAAC;AAnBD,oEAmBC;AAED,SAAgB,8CAA8C,CAAC,OAAgB;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sCAAsC,OAAO,GAAG,CAAC,CAAA;KAChF;IAED,OAAO,MAAM,CAAC,gCAAgC,CAAA;AAChD,CAAC;AARD,wGAQC"} -\ No newline at end of file -+{"version":3,"file":"keyDidMapping.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/key-type/keyDidMapping.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,qDAA4D;AAC5D,6CAAuD;AACvD,yEAAmH;AAEnH,6CAA+C;AAC/C,iDAAmD;AACnD,6CAA+C;AAC/C,uCAAyC;AACzC,yDAAqD;AACrD,2CAA6C;AAC7C,qCAAuC;AAQvC,+CAA+C;AAC/C,MAAM,aAAa,GAAmC;IACpD,CAAC,iBAAO,CAAC,OAAO,CAAC,EAAE,uBAAa;IAChC,CAAC,iBAAO,CAAC,MAAM,CAAC,EAAE,qBAAY;IAC9B,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,6BAAgB;IACtC,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,6BAAgB;IACtC,CAAC,iBAAO,CAAC,YAAY,CAAC,EAAE,iCAAkB;IAC1C,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;IAChC,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;IAChC,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,mCAAgB;IAChC,CAAC,iBAAO,CAAC,IAAI,CAAC,EAAE,2BAAe;CAChC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAO,CAAC,CAAC,MAAM,CACnE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IACnB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAC9E,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,CAAC,iCAC5B,WAAW,KACd,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,IACxC,EACF,EAAE,CACH,CAAA;IAED,uCACK,OAAO,GACP,SAAS,EACb;AACH,CAAC,EACD,EAAE,CACH,CAAA;AAED,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sCAAsC,OAAO,GAAG,CAAC,CAAA;KAChF;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AARD,8DAQC;AAED,SAAgB,4BAA4B,CAAC,kBAAsC;IACjF,iFAAiF;IACjF,IAAI,IAAA,iCAAgB,EAAC,kBAAkB,CAAC,EAAE;QACxC,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,MAAM,IAAI,2BAAmB,CAC3B,yDAAyD,2DAA0C,EAAE,CACtG,CAAA;SACF;QAED,OAAO,IAAA,oBAAc,EAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAA;KAC3D;IAED,MAAM,MAAM,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvE,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sDAAsD,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAA;KAChH;IAED,OAAO,MAAM,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAA;AAChE,CAAC;AAnBD,oEAmBC;AAED,SAAgB,8CAA8C,CAAC,OAAgB;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,2BAAmB,CAAC,sCAAsC,OAAO,GAAG,CAAC,CAAA;KAChF;IAED,OAAO,MAAM,CAAC,gCAAgC,CAAA;AAChD,CAAC;AARD,wGAQC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.d.ts b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.d.ts -new file mode 100644 -index 0000000..2d10f87 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.d.ts -@@ -0,0 +1,2 @@ -+import type { KeyDidMapping } from './keyDidMapping'; -+export declare const keyDidSecp256k1: KeyDidMapping; -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js -new file mode 100644 -index 0000000..991e946 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js -@@ -0,0 +1,23 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.keyDidSecp256k1 = void 0; -+const KeyType_1 = require("../../../../crypto/KeyType"); -+const error_1 = require("../../../../error"); -+const verificationMethod_1 = require("../verificationMethod"); -+exports.keyDidSecp256k1 = { -+ supportedVerificationMethodTypes: [ -+ verificationMethod_1.VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019, -+ verificationMethod_1.VERIFICATION_METHOD_TYPE_JSON_WEB_KEY_2020, -+ ], -+ getVerificationMethods: (did, key) => [(0, verificationMethod_1.getJsonWebKey2020)({ did, key })], -+ getKeyFromVerificationMethod: (verificationMethod) => { -+ if ((0, verificationMethod_1.isEcdsaSecp256k1VerificationKey2019)(verificationMethod)) { -+ return (0, verificationMethod_1.getKeyFromEcdsaSecp256k1VerificationKey2019)(verificationMethod); -+ } -+ if ((0, verificationMethod_1.isJsonWebKey2020)(verificationMethod)) { -+ return (0, verificationMethod_1.getKeyFromJsonWebKey2020)(verificationMethod); -+ } -+ throw new error_1.AriesFrameworkError(`Verification method with type '${verificationMethod.type}' not supported for key type '${KeyType_1.KeyType.K256}'`); -+ }, -+}; -+//# sourceMappingURL=secp256k1.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js.map b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js.map -new file mode 100644 -index 0000000..41acac0 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/key-type/secp256k1.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/key-type/secp256k1.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,6CAAuD;AACvD,8DAQ8B;AAEjB,QAAA,eAAe,GAAkB;IAC5C,gCAAgC,EAAE;QAChC,mFAA8D;QAC9D,+DAA0C;KAC3C;IACD,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sCAAiB,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,4BAA4B,EAAE,CAAC,kBAAsC,EAAE,EAAE;QACvE,IAAI,IAAA,wDAAmC,EAAC,kBAAkB,CAAC,EAAE;YAC3D,OAAO,IAAA,gEAA2C,EAAC,kBAAkB,CAAC,CAAA;SACvE;QAED,IAAI,IAAA,qCAAgB,EAAC,kBAAkB,CAAC,EAAE;YACxC,OAAO,IAAA,6CAAwB,EAAC,kBAAkB,CAAC,CAAA;SACpD;QAED,MAAM,IAAI,2BAAmB,CAC3B,kCAAkC,kBAAkB,CAAC,IAAI,iCAAiC,iBAAO,CAAC,IAAI,GAAG,CAC1G,CAAA;IACH,CAAC;CACF,CAAA"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js b/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js -index efafb05..bead61c 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js -@@ -19,6 +19,7 @@ const didDocumentKeyTypeMapping = { - [KeyType_1.KeyType.P256]: getJsonWebKey2020DidDocument, - [KeyType_1.KeyType.P384]: getJsonWebKey2020DidDocument, - [KeyType_1.KeyType.P521]: getJsonWebKey2020DidDocument, -+ [KeyType_1.KeyType.K256]: getSecp256k1DidDoc, - }; - function getDidDocumentForKey(did, key) { - const getDidDocument = didDocumentKeyTypeMapping[key.keyType]; -@@ -111,4 +112,7 @@ function getSignatureKeyBase({ did, key, verificationMethod, }) { - .addCapabilityDelegation(keyId) - .addCapabilityInvocation(keyId); - } -+function getSecp256k1DidDoc(id, key) { -+ throw new Error('Method not implemented.'); -+} - //# sourceMappingURL=keyDidDocument.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js.map b/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js.map -index 2ef248f..cd5dcbd 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js.map -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/keyDidDocument.js.map -@@ -1 +1 @@ --{"version":3,"file":"keyDidDocument.js","sourceRoot":"","sources":["../../../../src/modules/dids/domain/keyDidDocument.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"keyDidDocument.js","sourceRoot":"","sources":["../../../../src/modules/dids/domain/keyDidDocument.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.d.ts b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.d.ts -new file mode 100644 -index 0000000..4f6a471 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.d.ts -@@ -0,0 +1,23 @@ -+import { Key } from '../../../../crypto/Key'; -+import { VerificationMethod } from './VerificationMethod'; -+export declare const VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019 = "EcdsaSecp256k1VerificationKey2019"; -+type EcdsaSecp256k1VerificationKey2019 = VerificationMethod & { -+ type: typeof VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019; -+}; -+/** -+ * Get a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+export declare function getEcdsaSecp256k1VerificationKey2019({ key, id, controller, }: { -+ id: string; -+ key: Key; -+ controller: string; -+}): VerificationMethod; -+/** -+ * Check whether a verification method is a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+export declare function isEcdsaSecp256k1VerificationKey2019(verificationMethod: VerificationMethod): verificationMethod is EcdsaSecp256k1VerificationKey2019; -+/** -+ * Get a key from a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+export declare function getKeyFromEcdsaSecp256k1VerificationKey2019(verificationMethod: EcdsaSecp256k1VerificationKey2019): Key; -+export {}; -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js -new file mode 100644 -index 0000000..a01f168 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js -@@ -0,0 +1,38 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.getKeyFromEcdsaSecp256k1VerificationKey2019 = exports.isEcdsaSecp256k1VerificationKey2019 = exports.getEcdsaSecp256k1VerificationKey2019 = exports.VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019 = void 0; -+const Key_1 = require("../../../../crypto/Key"); -+const KeyType_1 = require("../../../../crypto/KeyType"); -+const error_1 = require("../../../../error"); -+const VerificationMethod_1 = require("./VerificationMethod"); -+exports.VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019 = 'EcdsaSecp256k1VerificationKey2019'; -+/** -+ * Get a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+function getEcdsaSecp256k1VerificationKey2019({ key, id, controller, }) { -+ return new VerificationMethod_1.VerificationMethod({ -+ id, -+ type: exports.VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019, -+ controller, -+ publicKeyBase58: key.publicKeyBase58, -+ }); -+} -+exports.getEcdsaSecp256k1VerificationKey2019 = getEcdsaSecp256k1VerificationKey2019; -+/** -+ * Check whether a verification method is a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+function isEcdsaSecp256k1VerificationKey2019(verificationMethod) { -+ return verificationMethod.type === exports.VERIFICATION_METHOD_TYPE_ECDSA_SECP256K1_VERIFICATION_KEY_2019; -+} -+exports.isEcdsaSecp256k1VerificationKey2019 = isEcdsaSecp256k1VerificationKey2019; -+/** -+ * Get a key from a EcdsaSecp256k1VerificationKey2019 verification method. -+ */ -+function getKeyFromEcdsaSecp256k1VerificationKey2019(verificationMethod) { -+ if (!verificationMethod.publicKeyBase58) { -+ throw new error_1.AriesFrameworkError('verification method is missing publicKeyBase58'); -+ } -+ return Key_1.Key.fromPublicKeyBase58(verificationMethod.publicKeyBase58, KeyType_1.KeyType.K256); -+} -+exports.getKeyFromEcdsaSecp256k1VerificationKey2019 = getKeyFromEcdsaSecp256k1VerificationKey2019; -+//# sourceMappingURL=EcdsaSecp256k1VerificationKey2019.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js.map b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js.map -new file mode 100644 -index 0000000..a60ec26 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"EcdsaSecp256k1VerificationKey2019.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/verificationMethod/EcdsaSecp256k1VerificationKey2019.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAC5C,wDAAoD;AACpD,6CAAuD;AAEvD,6DAAyD;AAE5C,QAAA,8DAA8D,GAAG,mCAAmC,CAAA;AAMjH;;GAEG;AACH,SAAgB,oCAAoC,CAAC,EACnD,GAAG,EACH,EAAE,EACF,UAAU,GAKX;IACC,OAAO,IAAI,uCAAkB,CAAC;QAC5B,EAAE;QACF,IAAI,EAAE,sEAA8D;QACpE,UAAU;QACV,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC,CAAA;AACJ,CAAC;AAfD,oFAeC;AAED;;GAEG;AACH,SAAgB,mCAAmC,CACjD,kBAAsC;IAEtC,OAAO,kBAAkB,CAAC,IAAI,KAAK,sEAA8D,CAAA;AACnG,CAAC;AAJD,kFAIC;AAED;;GAEG;AACH,SAAgB,2CAA2C,CAAC,kBAAqD;IAC/G,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;QACvC,MAAM,IAAI,2BAAmB,CAAC,gDAAgD,CAAC,CAAA;KAChF;IAED,OAAO,SAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,eAAe,EAAE,iBAAO,CAAC,IAAI,CAAC,CAAA;AAClF,CAAC;AAND,kGAMC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.d.ts b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.d.ts -index c5d1f5d..3297e2e 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.d.ts -@@ -4,5 +4,6 @@ export * from './Bls12381G1Key2020'; - export * from './Bls12381G2Key2020'; - export * from './Ed25519VerificationKey2018'; - export * from './Ed25519VerificationKey2020'; -+export * from './EcdsaSecp256k1VerificationKey2019'; - export * from './JsonWebKey2020'; - export * from './X25519KeyAgreementKey2019'; -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js -index fe7774c..03ca5d0 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js -@@ -24,6 +24,7 @@ __exportStar(require("./Bls12381G1Key2020"), exports); - __exportStar(require("./Bls12381G2Key2020"), exports); - __exportStar(require("./Ed25519VerificationKey2018"), exports); - __exportStar(require("./Ed25519VerificationKey2020"), exports); -+__exportStar(require("./EcdsaSecp256k1VerificationKey2019"), exports); - __exportStar(require("./JsonWebKey2020"), exports); - __exportStar(require("./X25519KeyAgreementKey2019"), exports); - //# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js.map b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js.map -index ef7616f..6bc9831 100644 ---- a/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js.map -+++ b/node_modules/@aries-framework/core/build/modules/dids/domain/verificationMethod/index.js.map -@@ -1 +1 @@ --{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/verificationMethod/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,iFAA6G;AAApG,8IAAA,6BAA6B,OAAA;AAAE,6IAAA,4BAA4B,OAAA;AAEpE,sDAAmC;AACnC,sDAAmC;AACnC,+DAA4C;AAC5C,+DAA4C;AAC5C,mDAAgC;AAChC,8DAA2C"} -\ No newline at end of file -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/dids/domain/verificationMethod/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,iFAA6G;AAApG,8IAAA,6BAA6B,OAAA;AAAE,6IAAA,4BAA4B,OAAA;AAEpE,sDAAmC;AACnC,sDAAmC;AACnC,+DAA4C;AAC5C,+DAA4C;AAC5C,sEAAmD;AACnD,mDAAgC;AAChC,8DAA2C"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.d.ts -new file mode 100644 -index 0000000..0b09fe4 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.d.ts -@@ -0,0 +1,8 @@ -+import { AriesFrameworkError } from '../../error'; -+export declare class DifPresentationExchangeError extends AriesFrameworkError { -+ additionalMessages?: Array; -+ constructor(message: string, { cause, additionalMessages }?: { -+ cause?: Error; -+ additionalMessages?: Array; -+ }); -+} -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js -new file mode 100644 -index 0000000..67f9e18 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js -@@ -0,0 +1,12 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DifPresentationExchangeError = void 0; -+const error_1 = require("../../error"); -+class DifPresentationExchangeError extends error_1.AriesFrameworkError { -+ constructor(message, { cause, additionalMessages } = {}) { -+ super(message, { cause }); -+ this.additionalMessages = additionalMessages; -+ } -+} -+exports.DifPresentationExchangeError = DifPresentationExchangeError; -+//# sourceMappingURL=DifPresentationExchangeError.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js.map -new file mode 100644 -index 0000000..08431f4 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeError.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPresentationExchangeError.js","sourceRoot":"","sources":["../../../src/modules/dif-presentation-exchange/DifPresentationExchangeError.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AAEjD,MAAa,4BAA6B,SAAQ,2BAAmB;IAGnE,YACE,OAAe,EACf,EAAE,KAAK,EAAE,kBAAkB,KAA4D,EAAE;QAEzF,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACzB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC9C,CAAC;CACF;AAVD,oEAUC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.d.ts -new file mode 100644 -index 0000000..9839690 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.d.ts -@@ -0,0 +1,10 @@ -+import type { DependencyManager, Module } from '../../plugins'; -+/** -+ * @public -+ */ -+export declare class DifPresentationExchangeModule implements Module { -+ /** -+ * Registers the dependencies of the presentation-exchange module on the dependency manager. -+ */ -+ register(dependencyManager: DependencyManager): void; -+} -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js -new file mode 100644 -index 0000000..2e4b176 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js -@@ -0,0 +1,23 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DifPresentationExchangeModule = void 0; -+const AgentConfig_1 = require("../../agent/AgentConfig"); -+const DifPresentationExchangeService_1 = require("./DifPresentationExchangeService"); -+/** -+ * @public -+ */ -+class DifPresentationExchangeModule { -+ /** -+ * Registers the dependencies of the presentation-exchange module on the dependency manager. -+ */ -+ register(dependencyManager) { -+ // Warn about experimental module -+ dependencyManager -+ .resolve(AgentConfig_1.AgentConfig) -+ .logger.warn("The 'DifPresentationExchangeModule' module is experimental and could have unexpected breaking changes. When using this module, make sure to use strict versions for all @aries-framework packages."); -+ // service -+ dependencyManager.registerSingleton(DifPresentationExchangeService_1.DifPresentationExchangeService); -+ } -+} -+exports.DifPresentationExchangeModule = DifPresentationExchangeModule; -+//# sourceMappingURL=DifPresentationExchangeModule.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js.map -new file mode 100644 -index 0000000..f4a7691 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeModule.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPresentationExchangeModule.js","sourceRoot":"","sources":["../../../src/modules/dif-presentation-exchange/DifPresentationExchangeModule.ts"],"names":[],"mappings":";;;AAEA,yDAAqD;AAErD,qFAAiF;AAEjF;;GAEG;AACH,MAAa,6BAA6B;IACxC;;OAEG;IACI,QAAQ,CAAC,iBAAoC;QAClD,iCAAiC;QACjC,iBAAiB;aACd,OAAO,CAAC,yBAAW,CAAC;aACpB,MAAM,CAAC,IAAI,CACV,oMAAoM,CACrM,CAAA;QAEH,UAAU;QACV,iBAAiB,CAAC,iBAAiB,CAAC,+DAA8B,CAAC,CAAA;IACrE,CAAC;CACF;AAfD,sEAeC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.d.ts -new file mode 100644 -index 0000000..5feab4f ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.d.ts -@@ -0,0 +1,49 @@ -+import type { DifPexInputDescriptorToCredentials, DifPexCredentialsForRequest, DifPresentationExchangeDefinition, DifPresentationExchangeSubmission } from './models'; -+import type { AgentContext } from '../../agent'; -+import type { VerificationMethod } from '../dids'; -+import type { W3cVerifiableCredential, W3cVerifiablePresentation } from '../vc'; -+import type { PresentationSignCallBackParams } from '@sphereon/pex'; -+import { ClaimFormat } from '../vc'; -+import { DifPresentationExchangeSubmissionLocation } from './models'; -+export type ProofStructure = Record>>; -+export declare class DifPresentationExchangeService { -+ private pex; -+ getCredentialsForRequest(agentContext: AgentContext, presentationDefinition: DifPresentationExchangeDefinition): Promise; -+ /** -+ * Selects the credentials to use based on the output from `getCredentialsForRequest` -+ * Use this method if you don't want to manually select the credentials yourself. -+ */ -+ selectCredentialsForRequest(credentialsForRequest: DifPexCredentialsForRequest): DifPexInputDescriptorToCredentials; -+ validatePresentationDefinition(presentationDefinition: DifPresentationExchangeDefinition): void; -+ validatePresentationSubmission(presentationSubmission: DifPresentationExchangeSubmission): void; -+ validatePresentation(presentationDefinition: DifPresentationExchangeDefinition, presentation: W3cVerifiablePresentation): void; -+ private formatValidated; -+ /** -+ * Queries the wallet for credentials that match the given presentation definition. This only does an initial query based on the -+ * schema of the input descriptors. It does not do any further filtering based on the constraints in the input descriptors. -+ */ -+ private queryCredentialForPresentationDefinition; -+ private addCredentialToSubjectInputDescriptor; -+ private getPresentationFormat; -+ createPresentation(agentContext: AgentContext, options: { -+ credentialsForInputDescriptor: DifPexInputDescriptorToCredentials; -+ presentationDefinition: DifPresentationExchangeDefinition; -+ /** -+ * Defaults to {@link DifPresentationExchangeSubmissionLocation.PRESENTATION} -+ */ -+ presentationSubmissionLocation?: DifPresentationExchangeSubmissionLocation; -+ challenge?: string; -+ domain?: string; -+ nonce?: string; -+ }): Promise<{ -+ verifiablePresentations: (import("../vc").W3cJsonLdVerifiablePresentation | import("../vc").W3cJwtVerifiablePresentation)[]; -+ presentationSubmission: import("@sphereon/pex-models").PresentationSubmission; -+ presentationSubmissionLocation: DifPresentationExchangeSubmissionLocation; -+ }>; -+ private getSigningAlgorithmFromVerificationMethod; -+ private getSigningAlgorithmsForPresentationDefinitionAndInputDescriptors; -+ private getSigningAlgorithmForJwtVc; -+ private getProofTypeForLdpVc; -+ getPresentationSignCallback(agentContext: AgentContext, verificationMethod: VerificationMethod, vpFormat: ClaimFormat.LdpVp | ClaimFormat.JwtVp): (callBackParams: PresentationSignCallBackParams) => Promise; -+ private getVerificationMethodForSubjectId; -+} -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js -new file mode 100644 -index 0000000..cf9edff ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js -@@ -0,0 +1,352 @@ -+"use strict"; -+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { -+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; -+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); -+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; -+ return c > 3 && r && Object.defineProperty(target, key, r), r; -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DifPresentationExchangeService = void 0; -+const pex_1 = require("@sphereon/pex"); -+const tsyringe_1 = require("tsyringe"); -+const crypto_1 = require("../../crypto"); -+const error_1 = require("../../error"); -+const utils_1 = require("../../utils"); -+const dids_1 = require("../dids"); -+const vc_1 = require("../vc"); -+const DifPresentationExchangeError_1 = require("./DifPresentationExchangeError"); -+const models_1 = require("./models"); -+const utils_2 = require("./utils"); -+let DifPresentationExchangeService = class DifPresentationExchangeService { -+ constructor() { -+ this.pex = new pex_1.PEX(); -+ } -+ async getCredentialsForRequest(agentContext, presentationDefinition) { -+ const credentialRecords = await this.queryCredentialForPresentationDefinition(agentContext, presentationDefinition); -+ // FIXME: why are we resolving all created dids here? -+ // If we want to do this we should extract all dids from the credential records and only -+ // fetch the dids for the queried credential records -+ const didsApi = agentContext.dependencyManager.resolve(dids_1.DidsApi); -+ const didRecords = await didsApi.getCreatedDids(); -+ const holderDids = didRecords.map((didRecord) => didRecord.did); -+ return (0, utils_2.getCredentialsForRequest)(presentationDefinition, credentialRecords, holderDids); -+ } -+ /** -+ * Selects the credentials to use based on the output from `getCredentialsForRequest` -+ * Use this method if you don't want to manually select the credentials yourself. -+ */ -+ selectCredentialsForRequest(credentialsForRequest) { -+ if (!credentialsForRequest.areRequirementsSatisfied) { -+ throw new error_1.AriesFrameworkError('Could not find the required credentials for the presentation submission'); -+ } -+ const credentials = {}; -+ for (const requirement of credentialsForRequest.requirements) { -+ for (const submission of requirement.submissionEntry) { -+ if (!credentials[submission.inputDescriptorId]) { -+ credentials[submission.inputDescriptorId] = []; -+ } -+ // We pick the first matching VC if we are auto-selecting -+ credentials[submission.inputDescriptorId].push(submission.verifiableCredentials[0].credential); -+ } -+ } -+ return credentials; -+ } -+ validatePresentationDefinition(presentationDefinition) { -+ const validation = pex_1.PEX.validateDefinition(presentationDefinition); -+ const errorMessages = this.formatValidated(validation); -+ if (errorMessages.length > 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Invalid presentation definition`, { additionalMessages: errorMessages }); -+ } -+ } -+ validatePresentationSubmission(presentationSubmission) { -+ const validation = pex_1.PEX.validateSubmission(presentationSubmission); -+ const errorMessages = this.formatValidated(validation); -+ if (errorMessages.length > 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Invalid presentation submission`, { additionalMessages: errorMessages }); -+ } -+ } -+ validatePresentation(presentationDefinition, presentation) { -+ const { errors } = this.pex.evaluatePresentation(presentationDefinition, presentation.encoded); -+ if (errors) { -+ const errorMessages = this.formatValidated(errors); -+ if (errorMessages.length > 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Invalid presentation`, { additionalMessages: errorMessages }); -+ } -+ } -+ } -+ formatValidated(v) { -+ const validated = Array.isArray(v) ? v : [v]; -+ return validated -+ .filter((r) => r.tag === pex_1.Status.ERROR) -+ .map((r) => r.message) -+ .filter((r) => Boolean(r)); -+ } -+ /** -+ * Queries the wallet for credentials that match the given presentation definition. This only does an initial query based on the -+ * schema of the input descriptors. It does not do any further filtering based on the constraints in the input descriptors. -+ */ -+ async queryCredentialForPresentationDefinition(agentContext, presentationDefinition) { -+ const w3cCredentialRepository = agentContext.dependencyManager.resolve(vc_1.W3cCredentialRepository); -+ const query = []; -+ const presentationDefinitionVersion = pex_1.PEX.definitionVersionDiscovery(presentationDefinition); -+ if (!presentationDefinitionVersion.version) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Unable to determine the Presentation Exchange version from the presentation definition -+ `, presentationDefinitionVersion.error ? { additionalMessages: [presentationDefinitionVersion.error] } : {}); -+ } -+ if (presentationDefinitionVersion.version === pex_1.PEVersion.v1) { -+ const pd = presentationDefinition; -+ // The schema.uri can contain either an expanded type, or a context uri -+ for (const inputDescriptor of pd.input_descriptors) { -+ for (const schema of inputDescriptor.schema) { -+ query.push({ -+ $or: [{ expandedType: [schema.uri] }, { contexts: [schema.uri] }, { type: [schema.uri] }], -+ }); -+ } -+ } -+ } -+ else if (presentationDefinitionVersion.version === pex_1.PEVersion.v2) { -+ // FIXME: As PE version 2 does not have the `schema` anymore, we can't query by schema anymore. -+ // For now we retrieve ALL credentials, as we did the same for V1 with JWT credentials. We probably need -+ // to find some way to do initial filtering, hopefully if there's a filter on the `type` field or something. -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Unsupported presentation definition version ${presentationDefinitionVersion.version}`); -+ } -+ // query the wallet ourselves first to avoid the need to query the pex library for all -+ // credentials for every proof request -+ const credentialRecords = query.length > 0 -+ ? await w3cCredentialRepository.findByQuery(agentContext, { -+ $or: query, -+ }) -+ : await w3cCredentialRepository.getAll(agentContext); -+ return credentialRecords; -+ } -+ addCredentialToSubjectInputDescriptor(subjectsToInputDescriptors, subjectId, inputDescriptorId, credential) { -+ var _a, _b; -+ const inputDescriptorsToCredentials = (_a = subjectsToInputDescriptors[subjectId]) !== null && _a !== void 0 ? _a : {}; -+ const credentials = (_b = inputDescriptorsToCredentials[inputDescriptorId]) !== null && _b !== void 0 ? _b : []; -+ credentials.push(credential); -+ inputDescriptorsToCredentials[inputDescriptorId] = credentials; -+ subjectsToInputDescriptors[subjectId] = inputDescriptorsToCredentials; -+ } -+ getPresentationFormat(presentationDefinition, credentials) { -+ const allCredentialsAreJwtVc = credentials === null || credentials === void 0 ? void 0 : credentials.every((c) => typeof c === 'string'); -+ const allCredentialsAreLdpVc = credentials === null || credentials === void 0 ? void 0 : credentials.every((c) => typeof c !== 'string'); -+ const inputDescriptorsNotSupportingJwtVc = presentationDefinition.input_descriptors.filter((d) => d.format && d.format.jwt_vc === undefined); -+ const inputDescriptorsNotSupportingLdpVc = presentationDefinition.input_descriptors.filter((d) => d.format && d.format.ldp_vc === undefined); -+ if (allCredentialsAreJwtVc && -+ (presentationDefinition.format === undefined || presentationDefinition.format.jwt_vc) && -+ inputDescriptorsNotSupportingJwtVc.length === 0) { -+ return vc_1.ClaimFormat.JwtVp; -+ } -+ else if (allCredentialsAreLdpVc && -+ (presentationDefinition.format === undefined || presentationDefinition.format.ldp_vc) && -+ inputDescriptorsNotSupportingLdpVc.length === 0) { -+ return vc_1.ClaimFormat.LdpVp; -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('No suitable presentation format found for the given presentation definition, and credentials'); -+ } -+ } -+ async createPresentation(agentContext, options) { -+ const { presentationDefinition, challenge, nonce, domain, presentationSubmissionLocation } = options; -+ const proofStructure = {}; -+ Object.entries(options.credentialsForInputDescriptor).forEach(([inputDescriptorId, credentials]) => { -+ credentials.forEach((credential) => { -+ const subjectId = credential.credentialSubjectIds[0]; -+ if (!subjectId) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('Missing required credential subject for creating the presentation.'); -+ } -+ this.addCredentialToSubjectInputDescriptor(proofStructure, subjectId, inputDescriptorId, credential); -+ }); -+ }); -+ const verifiablePresentationResultsWithFormat = []; -+ const subjectToInputDescriptors = Object.entries(proofStructure); -+ for (const [subjectId, subjectInputDescriptorsToCredentials] of subjectToInputDescriptors) { -+ // Determine a suitable verification method for the presentation -+ const verificationMethod = await this.getVerificationMethodForSubjectId(agentContext, subjectId); -+ if (!verificationMethod) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`No verification method found for subject id '${subjectId}'.`); -+ } -+ // We create a presentation for each subject -+ // Thus for each subject we need to filter all the related input descriptors and credentials -+ // FIXME: cast to V1, as tsc errors for strange reasons if not -+ const inputDescriptorsForSubject = presentationDefinition.input_descriptors.filter((inputDescriptor) => inputDescriptor.id in subjectInputDescriptorsToCredentials); -+ // Get all the credentials associated with the input descriptors -+ const credentialsForSubject = Object.values(subjectInputDescriptorsToCredentials) -+ .flat() -+ .map(utils_2.getSphereonOriginalVerifiableCredential); -+ const presentationDefinitionForSubject = Object.assign(Object.assign({}, presentationDefinition), { input_descriptors: inputDescriptorsForSubject, -+ // We remove the submission requirements, as it will otherwise fail to create the VP -+ submission_requirements: undefined }); -+ const format = this.getPresentationFormat(presentationDefinitionForSubject, credentialsForSubject); -+ // FIXME: Q1: is holder always subject id, what if there are multiple subjects??? -+ // FIXME: Q2: What about proofType, proofPurpose verification method for multiple subjects? -+ const verifiablePresentationResult = await this.pex.verifiablePresentationFrom(presentationDefinitionForSubject, credentialsForSubject, this.getPresentationSignCallback(agentContext, verificationMethod, format), { -+ holderDID: subjectId, -+ proofOptions: { challenge, domain, nonce }, -+ signatureOptions: { verificationMethod: verificationMethod === null || verificationMethod === void 0 ? void 0 : verificationMethod.id }, -+ presentationSubmissionLocation: presentationSubmissionLocation !== null && presentationSubmissionLocation !== void 0 ? presentationSubmissionLocation : models_1.DifPresentationExchangeSubmissionLocation.PRESENTATION, -+ }); -+ verifiablePresentationResultsWithFormat.push({ verifiablePresentationResult, format }); -+ } -+ if (!verifiablePresentationResultsWithFormat[0]) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('No verifiable presentations created'); -+ } -+ if (subjectToInputDescriptors.length !== verifiablePresentationResultsWithFormat.length) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('Invalid amount of verifiable presentations created'); -+ } -+ const presentationSubmission = { -+ id: verifiablePresentationResultsWithFormat[0].verifiablePresentationResult.presentationSubmission.id, -+ definition_id: verifiablePresentationResultsWithFormat[0].verifiablePresentationResult.presentationSubmission.definition_id, -+ descriptor_map: [], -+ }; -+ for (const vpf of verifiablePresentationResultsWithFormat) { -+ const { verifiablePresentationResult } = vpf; -+ presentationSubmission.descriptor_map.push(...verifiablePresentationResult.presentationSubmission.descriptor_map); -+ } -+ return { -+ verifiablePresentations: verifiablePresentationResultsWithFormat.map((r) => (0, utils_2.getW3cVerifiablePresentationInstance)(r.verifiablePresentationResult.verifiablePresentation)), -+ presentationSubmission, -+ presentationSubmissionLocation: verifiablePresentationResultsWithFormat[0].verifiablePresentationResult.presentationSubmissionLocation, -+ }; -+ } -+ getSigningAlgorithmFromVerificationMethod(verificationMethod, suitableAlgorithms) { -+ const key = (0, dids_1.getKeyFromVerificationMethod)(verificationMethod); -+ const jwk = (0, crypto_1.getJwkFromKey)(key); -+ if (suitableAlgorithms) { -+ const possibleAlgorithms = jwk.supportedSignatureAlgorithms.filter((alg) => suitableAlgorithms === null || suitableAlgorithms === void 0 ? void 0 : suitableAlgorithms.includes(alg)); -+ if (!possibleAlgorithms || possibleAlgorithms.length === 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError([ -+ `Found no suitable signing algorithm.`, -+ `Algorithms supported by Verification method: ${jwk.supportedSignatureAlgorithms.join(', ')}`, -+ `Suitable algorithms: ${suitableAlgorithms.join(', ')}`, -+ ].join('\n')); -+ } -+ } -+ const alg = jwk.supportedSignatureAlgorithms[0]; -+ if (!alg) -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`No supported algs for key type: ${key.keyType}`); -+ return alg; -+ } -+ getSigningAlgorithmsForPresentationDefinitionAndInputDescriptors(algorithmsSatisfyingDefinition, inputDescriptorAlgorithms) { -+ const allDescriptorAlgorithms = inputDescriptorAlgorithms.flat(); -+ const algorithmsSatisfyingDescriptors = allDescriptorAlgorithms.filter((alg) => inputDescriptorAlgorithms.every((descriptorAlgorithmSet) => descriptorAlgorithmSet.includes(alg))); -+ const algorithmsSatisfyingPdAndDescriptorRestrictions = algorithmsSatisfyingDefinition.filter((alg) => algorithmsSatisfyingDescriptors.includes(alg)); -+ if (algorithmsSatisfyingDefinition.length > 0 && -+ algorithmsSatisfyingDescriptors.length > 0 && -+ algorithmsSatisfyingPdAndDescriptorRestrictions.length === 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`No signature algorithm found for satisfying restrictions of the presentation definition and input descriptors`); -+ } -+ if (allDescriptorAlgorithms.length > 0 && algorithmsSatisfyingDescriptors.length === 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`No signature algorithm found for satisfying restrictions of the input descriptors`); -+ } -+ let suitableAlgorithms; -+ if (algorithmsSatisfyingPdAndDescriptorRestrictions.length > 0) { -+ suitableAlgorithms = algorithmsSatisfyingPdAndDescriptorRestrictions; -+ } -+ else if (algorithmsSatisfyingDescriptors.length > 0) { -+ suitableAlgorithms = algorithmsSatisfyingDescriptors; -+ } -+ else if (algorithmsSatisfyingDefinition.length > 0) { -+ suitableAlgorithms = algorithmsSatisfyingDefinition; -+ } -+ return suitableAlgorithms; -+ } -+ getSigningAlgorithmForJwtVc(presentationDefinition, verificationMethod) { -+ var _a, _b, _c; -+ const algorithmsSatisfyingDefinition = (_c = (_b = (_a = presentationDefinition.format) === null || _a === void 0 ? void 0 : _a.jwt_vc) === null || _b === void 0 ? void 0 : _b.alg) !== null && _c !== void 0 ? _c : []; -+ const inputDescriptorAlgorithms = presentationDefinition.input_descriptors -+ .map((descriptor) => { var _a, _b, _c; return (_c = (_b = (_a = descriptor.format) === null || _a === void 0 ? void 0 : _a.jwt_vc) === null || _b === void 0 ? void 0 : _b.alg) !== null && _c !== void 0 ? _c : []; }) -+ .filter((alg) => alg.length > 0); -+ const suitableAlgorithms = this.getSigningAlgorithmsForPresentationDefinitionAndInputDescriptors(algorithmsSatisfyingDefinition, inputDescriptorAlgorithms); -+ return this.getSigningAlgorithmFromVerificationMethod(verificationMethod, suitableAlgorithms); -+ } -+ getProofTypeForLdpVc(agentContext, presentationDefinition, verificationMethod) { -+ var _a, _b, _c; -+ const algorithmsSatisfyingDefinition = (_c = (_b = (_a = presentationDefinition.format) === null || _a === void 0 ? void 0 : _a.ldp_vc) === null || _b === void 0 ? void 0 : _b.proof_type) !== null && _c !== void 0 ? _c : []; -+ const inputDescriptorAlgorithms = presentationDefinition.input_descriptors -+ .map((descriptor) => { var _a, _b, _c; return (_c = (_b = (_a = descriptor.format) === null || _a === void 0 ? void 0 : _a.ldp_vc) === null || _b === void 0 ? void 0 : _b.proof_type) !== null && _c !== void 0 ? _c : []; }) -+ .filter((alg) => alg.length > 0); -+ const suitableSignatureSuites = this.getSigningAlgorithmsForPresentationDefinitionAndInputDescriptors(algorithmsSatisfyingDefinition, inputDescriptorAlgorithms); -+ // For each of the supported algs, find the key types, then find the proof types -+ const signatureSuiteRegistry = agentContext.dependencyManager.resolve(vc_1.SignatureSuiteRegistry); -+ const supportedSignatureSuite = signatureSuiteRegistry.getByVerificationMethodType(verificationMethod.type); -+ if (!supportedSignatureSuite) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Couldn't find a supported signature suite for the given verification method type '${verificationMethod.type}'`); -+ } -+ if (suitableSignatureSuites) { -+ if (suitableSignatureSuites.includes(supportedSignatureSuite.proofType) === false) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError([ -+ 'No possible signature suite found for the given verification method.', -+ `Verification method type: ${verificationMethod.type}`, -+ `SupportedSignatureSuite '${supportedSignatureSuite.proofType}'`, -+ `SuitableSignatureSuites: ${suitableSignatureSuites.join(', ')}`, -+ ].join('\n')); -+ } -+ return supportedSignatureSuite.proofType; -+ } -+ return supportedSignatureSuite.proofType; -+ } -+ getPresentationSignCallback(agentContext, verificationMethod, vpFormat) { -+ const w3cCredentialService = agentContext.dependencyManager.resolve(vc_1.W3cCredentialService); -+ return async (callBackParams) => { -+ var _a, _b, _c, _d; -+ // The created partial proof and presentation, as well as original supplied options -+ const { presentation: presentationJson, options, presentationDefinition } = callBackParams; -+ const { challenge, domain, nonce } = (_a = options.proofOptions) !== null && _a !== void 0 ? _a : {}; -+ const { verificationMethod: verificationMethodId } = (_b = options.signatureOptions) !== null && _b !== void 0 ? _b : {}; -+ if (verificationMethodId && verificationMethodId !== verificationMethod.id) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Verification method from signing options ${verificationMethodId} does not match verification method ${verificationMethod.id}`); -+ } -+ let signedPresentation; -+ if (vpFormat === 'jwt_vp') { -+ signedPresentation = await w3cCredentialService.signPresentation(agentContext, { -+ format: vc_1.ClaimFormat.JwtVp, -+ alg: this.getSigningAlgorithmForJwtVc(presentationDefinition, verificationMethod), -+ verificationMethod: verificationMethod.id, -+ presentation: utils_1.JsonTransformer.fromJSON(presentationJson, vc_1.W3cPresentation), -+ challenge: (_c = challenge !== null && challenge !== void 0 ? challenge : nonce) !== null && _c !== void 0 ? _c : (await agentContext.wallet.generateNonce()), -+ domain, -+ }); -+ } -+ else if (vpFormat === 'ldp_vp') { -+ signedPresentation = await w3cCredentialService.signPresentation(agentContext, { -+ format: vc_1.ClaimFormat.LdpVp, -+ proofType: this.getProofTypeForLdpVc(agentContext, presentationDefinition, verificationMethod), -+ proofPurpose: 'authentication', -+ verificationMethod: verificationMethod.id, -+ presentation: utils_1.JsonTransformer.fromJSON(presentationJson, vc_1.W3cPresentation), -+ challenge: (_d = challenge !== null && challenge !== void 0 ? challenge : nonce) !== null && _d !== void 0 ? _d : (await agentContext.wallet.generateNonce()), -+ domain, -+ }); -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Only JWT credentials or JSONLD credentials are supported for a single presentation`); -+ } -+ return (0, utils_2.getSphereonW3cVerifiablePresentation)(signedPresentation); -+ }; -+ } -+ async getVerificationMethodForSubjectId(agentContext, subjectId) { -+ const didsApi = agentContext.dependencyManager.resolve(dids_1.DidsApi); -+ if (!subjectId.startsWith('did:')) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Only dids are supported as credentialSubject id. ${subjectId} is not a valid did`); -+ } -+ const didDocument = await didsApi.resolveDidDocument(subjectId); -+ if (!didDocument.authentication || didDocument.authentication.length === 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`No authentication verificationMethods found for did ${subjectId} in did document`); -+ } -+ // the signature suite to use for the presentation is dependant on the credentials we share. -+ // 1. Get the verification method for this given proof purpose in this DID document -+ let [verificationMethod] = didDocument.authentication; -+ if (typeof verificationMethod === 'string') { -+ verificationMethod = didDocument.dereferenceKey(verificationMethod, ['authentication']); -+ } -+ return verificationMethod; -+ } -+}; -+DifPresentationExchangeService = __decorate([ -+ (0, tsyringe_1.injectable)() -+], DifPresentationExchangeService); -+exports.DifPresentationExchangeService = DifPresentationExchangeService; -+//# sourceMappingURL=DifPresentationExchangeService.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js.map -new file mode 100644 -index 0000000..4b90e21 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/DifPresentationExchangeService.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPresentationExchangeService.js","sourceRoot":"","sources":["../../../src/modules/dif-presentation-exchange/DifPresentationExchangeService.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.d.ts -new file mode 100644 -index 0000000..e6c1a65 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.d.ts -@@ -0,0 +1,4 @@ -+export * from './DifPresentationExchangeError'; -+export * from './DifPresentationExchangeModule'; -+export * from './DifPresentationExchangeService'; -+export * from './models'; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js -new file mode 100644 -index 0000000..6167e74 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js -@@ -0,0 +1,21 @@ -+"use strict"; -+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ var desc = Object.getOwnPropertyDescriptor(m, k); -+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { -+ desc = { enumerable: true, get: function() { return m[k]; } }; -+ } -+ Object.defineProperty(o, k2, desc); -+}) : (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ o[k2] = m[k]; -+})); -+var __exportStar = (this && this.__exportStar) || function(m, exports) { -+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+__exportStar(require("./DifPresentationExchangeError"), exports); -+__exportStar(require("./DifPresentationExchangeModule"), exports); -+__exportStar(require("./DifPresentationExchangeService"), exports); -+__exportStar(require("./models"), exports); -+//# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js.map -new file mode 100644 -index 0000000..66e3a9d ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/index.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/dif-presentation-exchange/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAC9C,kEAA+C;AAC/C,mEAAgD;AAChD,2CAAwB"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.d.ts -new file mode 100644 -index 0000000..02571e1 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.d.ts -@@ -0,0 +1,104 @@ -+import type { W3cCredentialRecord, W3cVerifiableCredential } from '../../vc'; -+export interface DifPexCredentialsForRequest { -+ /** -+ * Whether all requirements have been satisfied by the credentials in the wallet. -+ */ -+ areRequirementsSatisfied: boolean; -+ /** -+ * The requirements for the presentation definition. If the `areRequirementsSatisfied` value -+ * is `false`, this list will still be populated with requirements, but won't contain credentials -+ * for all requirements. This can be useful to display the missing credentials for a presentation -+ * definition to be satisfied. -+ * -+ * NOTE: Presentation definition requirements can be really complex as there's a lot of different -+ * combinations that are possible. The structure doesn't include all possible combinations yet that -+ * could satisfy a presentation definition. -+ */ -+ requirements: DifPexCredentialsForRequestRequirement[]; -+ /** -+ * Name of the presentation definition -+ */ -+ name?: string; -+ /** -+ * Purpose of the presentation definition. -+ */ -+ purpose?: string; -+} -+/** -+ * A requirement for the presentation submission. A requirement -+ * is a group of input descriptors that together fulfill a requirement -+ * from the presentation definition. -+ * -+ * Each submission represents a input descriptor. -+ */ -+export interface DifPexCredentialsForRequestRequirement { -+ /** -+ * Whether the requirement is satisfied. -+ * -+ * If the requirement is not satisfied, the submission will still contain -+ * entries, but the `verifiableCredentials` list will be empty. -+ */ -+ isRequirementSatisfied: boolean; -+ /** -+ * Name of the requirement -+ */ -+ name?: string; -+ /** -+ * Purpose of the requirement -+ */ -+ purpose?: string; -+ /** -+ * Array of objects, where each entry contains one or more credentials that will be part -+ * of the submission. -+ * -+ * NOTE: if the `isRequirementSatisfied` is `false` the submission list will -+ * contain entries where the verifiable credential list is empty. In this case it could also -+ * contain more entries than are actually needed (as you sometimes can choose from -+ * e.g. 4 types of credentials and need to submit at least two). If -+ * `isRequirementSatisfied` is `false`, make sure to check the `needsCount` value -+ * to see how many of those submissions needed. -+ */ -+ submissionEntry: DifPexCredentialsForRequestSubmissionEntry[]; -+ /** -+ * The number of submission entries that are needed to fulfill the requirement. -+ * If `isRequirementSatisfied` is `true`, the submission list will always be equal -+ * to the number of `needsCount`. If `isRequirementSatisfied` is `false` the list of -+ * submissions could be longer. -+ */ -+ needsCount: number; -+ /** -+ * The rule that is used to select the credentials for the submission. -+ * If the rule is `pick`, the user can select which credentials to use for the submission. -+ * If the rule is `all`, all credentials that satisfy the input descriptor will be used. -+ */ -+ rule: 'pick' | 'all'; -+} -+/** -+ * A submission entry that satisfies a specific input descriptor from the -+ * presentation definition. -+ */ -+export interface DifPexCredentialsForRequestSubmissionEntry { -+ /** -+ * The id of the input descriptor -+ */ -+ inputDescriptorId: string; -+ /** -+ * Name of the input descriptor -+ */ -+ name?: string; -+ /** -+ * Purpose of the input descriptor -+ */ -+ purpose?: string; -+ /** -+ * The verifiable credentials that satisfy the input descriptor. -+ * -+ * If the value is an empty list, it means the input descriptor could -+ * not be satisfied. -+ */ -+ verifiableCredentials: W3cCredentialRecord[]; -+} -+/** -+ * Mapping of selected credentials for an input descriptor -+ */ -+export type DifPexInputDescriptorToCredentials = Record>; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js -new file mode 100644 -index 0000000..b050f2a ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js -@@ -0,0 +1,3 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+//# sourceMappingURL=DifPexCredentialsForRequest.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js.map -new file mode 100644 -index 0000000..8a95b90 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPexCredentialsForRequest.js","sourceRoot":"","sources":["../../../../src/modules/dif-presentation-exchange/models/DifPexCredentialsForRequest.ts"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.d.ts -new file mode 100644 -index 0000000..0e8834e ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.d.ts -@@ -0,0 +1,8 @@ -+export * from './DifPexCredentialsForRequest'; -+import type { PresentationDefinitionV1, PresentationDefinitionV2, PresentationSubmission } from '@sphereon/pex-models'; -+import { PresentationSubmissionLocation } from '@sphereon/pex'; -+export type DifPresentationExchangeDefinition = PresentationDefinitionV1 | PresentationDefinitionV2; -+export type DifPresentationExchangeDefinitionV1 = PresentationDefinitionV1; -+export type DifPresentationExchangeDefinitionV2 = PresentationDefinitionV2; -+export type DifPresentationExchangeSubmission = PresentationSubmission; -+export { PresentationSubmissionLocation as DifPresentationExchangeSubmissionLocation }; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js -new file mode 100644 -index 0000000..8b8a7ea ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js -@@ -0,0 +1,21 @@ -+"use strict"; -+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ var desc = Object.getOwnPropertyDescriptor(m, k); -+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { -+ desc = { enumerable: true, get: function() { return m[k]; } }; -+ } -+ Object.defineProperty(o, k2, desc); -+}) : (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ o[k2] = m[k]; -+})); -+var __exportStar = (this && this.__exportStar) || function(m, exports) { -+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DifPresentationExchangeSubmissionLocation = void 0; -+__exportStar(require("./DifPexCredentialsForRequest"), exports); -+const pex_1 = require("@sphereon/pex"); -+Object.defineProperty(exports, "DifPresentationExchangeSubmissionLocation", { enumerable: true, get: function () { return pex_1.PresentationSubmissionLocation; } }); -+//# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js.map -new file mode 100644 -index 0000000..bcbf103 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/models/index.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dif-presentation-exchange/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gEAA6C;AAG7C,uCAA8D;AAOnB,0HAPlC,oCAA8B,OAO6C"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.d.ts -new file mode 100644 -index 0000000..77456aa ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.d.ts -@@ -0,0 +1,10 @@ -+import type { W3cCredentialRecord } from '../../vc'; -+import type { DifPexCredentialsForRequest } from '../models'; -+import type { IPresentationDefinition, SelectResults } from '@sphereon/pex'; -+export declare function getCredentialsForRequest(presentationDefinition: IPresentationDefinition, credentialRecords: Array, holderDIDs: Array): Promise; -+/** -+ * Custom SelectResults that include the W3cCredentialRecord instead of the encoded verifiable credential -+ */ -+export type W3cCredentialRecordSelectResults = Omit & { -+ verifiableCredential?: Array; -+}; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js -new file mode 100644 -index 0000000..93eb91b ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js -@@ -0,0 +1,207 @@ -+"use strict"; -+var __importDefault = (this && this.__importDefault) || function (mod) { -+ return (mod && mod.__esModule) ? mod : { "default": mod }; -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.getCredentialsForRequest = void 0; -+const pex_1 = require("@sphereon/pex"); -+const pex_models_1 = require("@sphereon/pex-models"); -+const jsonpath_1 = __importDefault(require("jsonpath")); -+const utils_1 = require("../../../utils"); -+const DifPresentationExchangeError_1 = require("../DifPresentationExchangeError"); -+const transform_1 = require("./transform"); -+async function getCredentialsForRequest(presentationDefinition, credentialRecords, holderDIDs) { -+ var _a; -+ if (!presentationDefinition) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('Presentation Definition is required to select credentials for submission.'); -+ } -+ const pex = new pex_1.PEX(); -+ const encodedCredentials = credentialRecords.map((c) => (0, transform_1.getSphereonOriginalVerifiableCredential)(c.credential)); -+ // FIXME: there is a function for this in the VP library, but it is not usable atm -+ const selectResultsRaw = pex.selectFrom(presentationDefinition, encodedCredentials, { -+ holderDIDs, -+ // limitDisclosureSignatureSuites: [], -+ // restrictToDIDMethods, -+ // restrictToFormats -+ }); -+ const selectResults = Object.assign(Object.assign({}, selectResultsRaw), { -+ // Map the encoded credential to their respective w3c credential record -+ verifiableCredential: (_a = selectResultsRaw.verifiableCredential) === null || _a === void 0 ? void 0 : _a.map((encoded) => { -+ const credentialRecord = credentialRecords.find((record) => { -+ const originalVc = (0, transform_1.getSphereonOriginalVerifiableCredential)(record.credential); -+ return (0, utils_1.deepEquality)(originalVc, encoded); -+ }); -+ if (!credentialRecord) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('Unable to find credential in credential records.'); -+ } -+ return credentialRecord; -+ }) }); -+ const presentationSubmission = { -+ requirements: [], -+ areRequirementsSatisfied: false, -+ name: presentationDefinition.name, -+ purpose: presentationDefinition.purpose, -+ }; -+ // If there's no submission requirements, ALL input descriptors MUST be satisfied -+ if (!presentationDefinition.submission_requirements || presentationDefinition.submission_requirements.length === 0) { -+ presentationSubmission.requirements = getSubmissionRequirementsForAllInputDescriptors(presentationDefinition.input_descriptors, selectResults); -+ } -+ else { -+ presentationSubmission.requirements = getSubmissionRequirements(presentationDefinition, selectResults); -+ } -+ // There may be no requirements if we filter out all optional ones. To not makes things too complicated, we see it as an error -+ // for now if a request is made that has no required requirements (but only e.g. min: 0, which means we don't need to disclose anything) -+ // I see this more as the fault of the presentation definition, as it should have at least some requirements. -+ if (presentationSubmission.requirements.length === 0) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError('Presentation Definition does not require any credentials. Optional credentials are not included in the presentation submission.'); -+ } -+ if (selectResultsRaw.areRequiredCredentialsPresent === 'error') { -+ return presentationSubmission; -+ } -+ return Object.assign(Object.assign({}, presentationSubmission), { -+ // If all requirements are satisfied, the presentation submission is satisfied -+ areRequirementsSatisfied: presentationSubmission.requirements.every((requirement) => requirement.isRequirementSatisfied) }); -+} -+exports.getCredentialsForRequest = getCredentialsForRequest; -+function getSubmissionRequirements(presentationDefinition, selectResults) { -+ var _a; -+ const submissionRequirements = []; -+ // There are submission requirements, so we need to select the input_descriptors -+ // based on the submission requirements -+ for (const submissionRequirement of (_a = presentationDefinition.submission_requirements) !== null && _a !== void 0 ? _a : []) { -+ // Check: if the submissionRequirement uses `from_nested`, as we don't support this yet -+ if (submissionRequirement.from_nested) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError("Presentation definition contains requirement using 'from_nested', which is not supported yet."); -+ } -+ // Check if there's a 'from'. If not the structure is not as we expect it -+ if (!submissionRequirement.from) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError("Missing 'from' in submission requirement match"); -+ } -+ if (submissionRequirement.rule === pex_models_1.Rules.All) { -+ const selectedSubmission = getSubmissionRequirementRuleAll(submissionRequirement, presentationDefinition, selectResults); -+ submissionRequirements.push(selectedSubmission); -+ } -+ else { -+ const selectedSubmission = getSubmissionRequirementRulePick(submissionRequirement, presentationDefinition, selectResults); -+ submissionRequirements.push(selectedSubmission); -+ } -+ } -+ // Submission may have requirement that doesn't require a credential to be submitted (e.g. min: 0) -+ // We use minimization strategy, and thus only disclose the minimum amount of information -+ const requirementsWithCredentials = submissionRequirements.filter((requirement) => requirement.needsCount > 0); -+ return requirementsWithCredentials; -+} -+function getSubmissionRequirementsForAllInputDescriptors(inputDescriptors, selectResults) { -+ const submissionRequirements = []; -+ for (const inputDescriptor of inputDescriptors) { -+ const submission = getSubmissionForInputDescriptor(inputDescriptor, selectResults); -+ submissionRequirements.push({ -+ rule: pex_models_1.Rules.Pick, -+ needsCount: 1, -+ submissionEntry: [submission], -+ isRequirementSatisfied: submission.verifiableCredentials.length >= 1, -+ }); -+ } -+ return submissionRequirements; -+} -+function getSubmissionRequirementRuleAll(submissionRequirement, presentationDefinition, selectResults) { -+ var _a; -+ // Check if there's a 'from'. If not the structure is not as we expect it -+ if (!submissionRequirement.from) -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError("Missing 'from' in submission requirement match."); -+ const selectedSubmission = { -+ rule: pex_models_1.Rules.All, -+ needsCount: 0, -+ name: submissionRequirement.name, -+ purpose: submissionRequirement.purpose, -+ submissionEntry: [], -+ isRequirementSatisfied: false, -+ }; -+ for (const inputDescriptor of presentationDefinition.input_descriptors) { -+ // We only want to get the submission if the input descriptor belongs to the group -+ if (!((_a = inputDescriptor.group) === null || _a === void 0 ? void 0 : _a.includes(submissionRequirement.from))) -+ continue; -+ const submission = getSubmissionForInputDescriptor(inputDescriptor, selectResults); -+ // Rule ALL, so for every input descriptor that matches in this group, we need to add it -+ selectedSubmission.needsCount += 1; -+ selectedSubmission.submissionEntry.push(submission); -+ } -+ return Object.assign(Object.assign({}, selectedSubmission), { -+ // If all submissions have a credential, the requirement is satisfied -+ isRequirementSatisfied: selectedSubmission.submissionEntry.every((submission) => submission.verifiableCredentials.length >= 1) }); -+} -+function getSubmissionRequirementRulePick(submissionRequirement, presentationDefinition, selectResults) { -+ var _a, _b, _c; -+ // Check if there's a 'from'. If not the structure is not as we expect it -+ if (!submissionRequirement.from) { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError("Missing 'from' in submission requirement match."); -+ } -+ const selectedSubmission = { -+ rule: pex_models_1.Rules.Pick, -+ needsCount: (_b = (_a = submissionRequirement.count) !== null && _a !== void 0 ? _a : submissionRequirement.min) !== null && _b !== void 0 ? _b : 1, -+ name: submissionRequirement.name, -+ purpose: submissionRequirement.purpose, -+ // If there's no count, min, or max we assume one credential is required for submission -+ // however, the exact behavior is not specified in the spec -+ submissionEntry: [], -+ isRequirementSatisfied: false, -+ }; -+ const satisfiedSubmissions = []; -+ const unsatisfiedSubmissions = []; -+ for (const inputDescriptor of presentationDefinition.input_descriptors) { -+ // We only want to get the submission if the input descriptor belongs to the group -+ if (!((_c = inputDescriptor.group) === null || _c === void 0 ? void 0 : _c.includes(submissionRequirement.from))) -+ continue; -+ const submission = getSubmissionForInputDescriptor(inputDescriptor, selectResults); -+ if (submission.verifiableCredentials.length >= 1) { -+ satisfiedSubmissions.push(submission); -+ } -+ else { -+ unsatisfiedSubmissions.push(submission); -+ } -+ // If we have found enough credentials to satisfy the requirement, we could stop -+ // but the user may not want the first x that match, so we continue and return all matches -+ // if (satisfiedSubmissions.length === selectedSubmission.needsCount) break -+ } -+ return Object.assign(Object.assign({}, selectedSubmission), { -+ // If there are enough satisfied submissions, the requirement is satisfied -+ isRequirementSatisfied: satisfiedSubmissions.length >= selectedSubmission.needsCount, -+ // if the requirement is satisfied, we only need to return the satisfied submissions -+ // however if the requirement is not satisfied, we include all entries so the wallet could -+ // render which credentials are missing. -+ submission: satisfiedSubmissions.length >= selectedSubmission.needsCount -+ ? satisfiedSubmissions -+ : [...satisfiedSubmissions, ...unsatisfiedSubmissions] }); -+} -+function getSubmissionForInputDescriptor(inputDescriptor, selectResults) { -+ var _a; -+ // https://github.com/Sphereon-Opensource/PEX/issues/116 -+ // If the input descriptor doesn't contain a name, the name of the match will be the id of the input descriptor that satisfied it -+ const matchesForInputDescriptor = (_a = selectResults.matches) === null || _a === void 0 ? void 0 : _a.filter((m) => m.name === inputDescriptor.id || -+ // FIXME: this is not collision proof as the name doesn't have to be unique -+ m.name === inputDescriptor.name); -+ const submissionEntry = { -+ inputDescriptorId: inputDescriptor.id, -+ name: inputDescriptor.name, -+ purpose: inputDescriptor.purpose, -+ verifiableCredentials: [], -+ }; -+ // return early if no matches. -+ if (!(matchesForInputDescriptor === null || matchesForInputDescriptor === void 0 ? void 0 : matchesForInputDescriptor.length)) -+ return submissionEntry; -+ // FIXME: This can return multiple credentials for multiple input_descriptors, -+ // which I think is a bug in the PEX library -+ // Extract all credentials from the match -+ const verifiableCredentials = matchesForInputDescriptor.flatMap((matchForInputDescriptor) => extractCredentialsFromMatch(matchForInputDescriptor, selectResults.verifiableCredential)); -+ submissionEntry.verifiableCredentials = verifiableCredentials; -+ return submissionEntry; -+} -+function extractCredentialsFromMatch(match, availableCredentials) { -+ const verifiableCredentials = []; -+ for (const vcPath of match.vc_path) { -+ const [verifiableCredential] = jsonpath_1.default.query({ verifiableCredential: availableCredentials }, vcPath); -+ verifiableCredentials.push(verifiableCredential); -+ } -+ return verifiableCredentials; -+} -+//# sourceMappingURL=credentialSelection.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js.map -new file mode 100644 -index 0000000..47a20ca ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/credentialSelection.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"credentialSelection.js","sourceRoot":"","sources":["../../../../src/modules/dif-presentation-exchange/utils/credentialSelection.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.d.ts -new file mode 100644 -index 0000000..d141a0f ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.d.ts -@@ -0,0 +1,2 @@ -+export * from './transform'; -+export * from './credentialSelection'; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js -new file mode 100644 -index 0000000..5c88430 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js -@@ -0,0 +1,19 @@ -+"use strict"; -+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ var desc = Object.getOwnPropertyDescriptor(m, k); -+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { -+ desc = { enumerable: true, get: function() { return m[k]; } }; -+ } -+ Object.defineProperty(o, k2, desc); -+}) : (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ o[k2] = m[k]; -+})); -+var __exportStar = (this && this.__exportStar) || function(m, exports) { -+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+__exportStar(require("./transform"), exports); -+__exportStar(require("./credentialSelection"), exports); -+//# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js.map -new file mode 100644 -index 0000000..b16782e ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/index.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dif-presentation-exchange/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,wDAAqC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.d.ts b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.d.ts -new file mode 100644 -index 0000000..254815f ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.d.ts -@@ -0,0 +1,7 @@ -+import type { W3cVerifiableCredential, W3cVerifiablePresentation } from '../../vc'; -+import type { OriginalVerifiableCredential as SphereonOriginalVerifiableCredential, W3CVerifiableCredential as SphereonW3cVerifiableCredential, W3CVerifiablePresentation as SphereonW3cVerifiablePresentation } from '@sphereon/ssi-types'; -+export declare function getSphereonOriginalVerifiableCredential(w3cVerifiableCredential: W3cVerifiableCredential): SphereonOriginalVerifiableCredential; -+export declare function getSphereonW3cVerifiableCredential(w3cVerifiableCredential: W3cVerifiableCredential): SphereonW3cVerifiableCredential; -+export declare function getSphereonW3cVerifiablePresentation(w3cVerifiablePresentation: W3cVerifiablePresentation): SphereonW3cVerifiablePresentation; -+export declare function getW3cVerifiablePresentationInstance(w3cVerifiablePresentation: SphereonW3cVerifiablePresentation): W3cVerifiablePresentation; -+export declare function getW3cVerifiableCredentialInstance(w3cVerifiableCredential: SphereonW3cVerifiableCredential): W3cVerifiableCredential; -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js -new file mode 100644 -index 0000000..3ad2b25 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js -@@ -0,0 +1,61 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.getW3cVerifiableCredentialInstance = exports.getW3cVerifiablePresentationInstance = exports.getSphereonW3cVerifiablePresentation = exports.getSphereonW3cVerifiableCredential = exports.getSphereonOriginalVerifiableCredential = void 0; -+const utils_1 = require("../../../utils"); -+const vc_1 = require("../../vc"); -+const DifPresentationExchangeError_1 = require("../DifPresentationExchangeError"); -+function getSphereonOriginalVerifiableCredential(w3cVerifiableCredential) { -+ if (w3cVerifiableCredential.claimFormat === vc_1.ClaimFormat.LdpVc) { -+ return utils_1.JsonTransformer.toJSON(w3cVerifiableCredential); -+ } -+ else if (w3cVerifiableCredential.claimFormat === vc_1.ClaimFormat.JwtVc) { -+ return w3cVerifiableCredential.serializedJwt; -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Unsupported claim format. Only ${vc_1.ClaimFormat.LdpVc} and ${vc_1.ClaimFormat.JwtVc} are supported.`); -+ } -+} -+exports.getSphereonOriginalVerifiableCredential = getSphereonOriginalVerifiableCredential; -+function getSphereonW3cVerifiableCredential(w3cVerifiableCredential) { -+ if (w3cVerifiableCredential.claimFormat === vc_1.ClaimFormat.LdpVc) { -+ return utils_1.JsonTransformer.toJSON(w3cVerifiableCredential); -+ } -+ else if (w3cVerifiableCredential.claimFormat === vc_1.ClaimFormat.JwtVc) { -+ return w3cVerifiableCredential.serializedJwt; -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Unsupported claim format. Only ${vc_1.ClaimFormat.LdpVc} and ${vc_1.ClaimFormat.JwtVc} are supported.`); -+ } -+} -+exports.getSphereonW3cVerifiableCredential = getSphereonW3cVerifiableCredential; -+function getSphereonW3cVerifiablePresentation(w3cVerifiablePresentation) { -+ if (w3cVerifiablePresentation instanceof vc_1.W3cJsonLdVerifiablePresentation) { -+ return utils_1.JsonTransformer.toJSON(w3cVerifiablePresentation); -+ } -+ else if (w3cVerifiablePresentation instanceof vc_1.W3cJwtVerifiablePresentation) { -+ return w3cVerifiablePresentation.serializedJwt; -+ } -+ else { -+ throw new DifPresentationExchangeError_1.DifPresentationExchangeError(`Unsupported claim format. Only ${vc_1.ClaimFormat.LdpVc} and ${vc_1.ClaimFormat.JwtVc} are supported.`); -+ } -+} -+exports.getSphereonW3cVerifiablePresentation = getSphereonW3cVerifiablePresentation; -+function getW3cVerifiablePresentationInstance(w3cVerifiablePresentation) { -+ if (typeof w3cVerifiablePresentation === 'string') { -+ return vc_1.W3cJwtVerifiablePresentation.fromSerializedJwt(w3cVerifiablePresentation); -+ } -+ else { -+ return utils_1.JsonTransformer.fromJSON(w3cVerifiablePresentation, vc_1.W3cJsonLdVerifiablePresentation); -+ } -+} -+exports.getW3cVerifiablePresentationInstance = getW3cVerifiablePresentationInstance; -+function getW3cVerifiableCredentialInstance(w3cVerifiableCredential) { -+ if (typeof w3cVerifiableCredential === 'string') { -+ return vc_1.W3cJwtVerifiableCredential.fromSerializedJwt(w3cVerifiableCredential); -+ } -+ else { -+ return utils_1.JsonTransformer.fromJSON(w3cVerifiableCredential, vc_1.W3cJsonLdVerifiableCredential); -+ } -+} -+exports.getW3cVerifiableCredentialInstance = getW3cVerifiableCredentialInstance; -+//# sourceMappingURL=transform.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js.map b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js.map -new file mode 100644 -index 0000000..8ed72f7 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/dif-presentation-exchange/utils/transform.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/modules/dif-presentation-exchange/utils/transform.ts"],"names":[],"mappings":";;;AAOA,0CAAgD;AAChD,iCAMiB;AACjB,kFAA8E;AAE9E,SAAgB,uCAAuC,CACrD,uBAAgD;IAEhD,IAAI,uBAAuB,CAAC,WAAW,KAAK,gBAAW,CAAC,KAAK,EAAE;QAC7D,OAAO,uBAAe,CAAC,MAAM,CAAC,uBAAuB,CAAyC,CAAA;KAC/F;SAAM,IAAI,uBAAuB,CAAC,WAAW,KAAK,gBAAW,CAAC,KAAK,EAAE;QACpE,OAAO,uBAAuB,CAAC,aAAa,CAAA;KAC7C;SAAM;QACL,MAAM,IAAI,2DAA4B,CACpC,kCAAkC,gBAAW,CAAC,KAAK,QAAQ,gBAAW,CAAC,KAAK,iBAAiB,CAC9F,CAAA;KACF;AACH,CAAC;AAZD,0FAYC;AAED,SAAgB,kCAAkC,CAChD,uBAAgD;IAEhD,IAAI,uBAAuB,CAAC,WAAW,KAAK,gBAAW,CAAC,KAAK,EAAE;QAC7D,OAAO,uBAAe,CAAC,MAAM,CAAC,uBAAuB,CAAoC,CAAA;KAC1F;SAAM,IAAI,uBAAuB,CAAC,WAAW,KAAK,gBAAW,CAAC,KAAK,EAAE;QACpE,OAAO,uBAAuB,CAAC,aAAa,CAAA;KAC7C;SAAM;QACL,MAAM,IAAI,2DAA4B,CACpC,kCAAkC,gBAAW,CAAC,KAAK,QAAQ,gBAAW,CAAC,KAAK,iBAAiB,CAC9F,CAAA;KACF;AACH,CAAC;AAZD,gFAYC;AAED,SAAgB,oCAAoC,CAClD,yBAAoD;IAEpD,IAAI,yBAAyB,YAAY,oCAA+B,EAAE;QACxE,OAAO,uBAAe,CAAC,MAAM,CAAC,yBAAyB,CAAsC,CAAA;KAC9F;SAAM,IAAI,yBAAyB,YAAY,iCAA4B,EAAE;QAC5E,OAAO,yBAAyB,CAAC,aAAa,CAAA;KAC/C;SAAM;QACL,MAAM,IAAI,2DAA4B,CACpC,kCAAkC,gBAAW,CAAC,KAAK,QAAQ,gBAAW,CAAC,KAAK,iBAAiB,CAC9F,CAAA;KACF;AACH,CAAC;AAZD,oFAYC;AAED,SAAgB,oCAAoC,CAClD,yBAA4D;IAE5D,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE;QACjD,OAAO,iCAA4B,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;KACjF;SAAM;QACL,OAAO,uBAAe,CAAC,QAAQ,CAAC,yBAAyB,EAAE,oCAA+B,CAAC,CAAA;KAC5F;AACH,CAAC;AARD,oFAQC;AAED,SAAgB,kCAAkC,CAChD,uBAAwD;IAExD,IAAI,OAAO,uBAAuB,KAAK,QAAQ,EAAE;QAC/C,OAAO,+BAA0B,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;KAC7E;SAAM;QACL,OAAO,uBAAe,CAAC,QAAQ,CAAC,uBAAuB,EAAE,kCAA6B,CAAC,CAAA;KACxF;AACH,CAAC;AARD,gFAQC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.d.ts b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.d.ts -new file mode 100644 -index 0000000..17afab0 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.d.ts -@@ -0,0 +1,51 @@ -+import type { DifPexInputDescriptorToCredentials, DifPexCredentialsForRequest, DifPresentationExchangeDefinitionV1 } from '../../../dif-presentation-exchange'; -+import type { W3cJsonPresentation } from '../../../vc/models/presentation/W3cJsonPresentation'; -+import type { ProofFormat } from '../ProofFormat'; -+export type DifPresentationExchangeProposal = DifPresentationExchangeDefinitionV1; -+export type DifPresentationExchangeRequest = { -+ options?: { -+ challenge?: string; -+ domain?: string; -+ }; -+ presentation_definition: DifPresentationExchangeDefinitionV1; -+}; -+export type DifPresentationExchangePresentation = W3cJsonPresentation | string; -+export interface DifPresentationExchangeProofFormat extends ProofFormat { -+ formatKey: 'presentationExchange'; -+ proofFormats: { -+ createProposal: { -+ presentationDefinition: DifPresentationExchangeDefinitionV1; -+ }; -+ acceptProposal: { -+ options?: { -+ challenge?: string; -+ domain?: string; -+ }; -+ }; -+ createRequest: { -+ presentationDefinition: DifPresentationExchangeDefinitionV1; -+ options?: { -+ challenge?: string; -+ domain?: string; -+ }; -+ }; -+ acceptRequest: { -+ credentials?: DifPexInputDescriptorToCredentials; -+ }; -+ getCredentialsForRequest: { -+ input: never; -+ output: DifPexCredentialsForRequest; -+ }; -+ selectCredentialsForRequest: { -+ input: never; -+ output: { -+ credentials: DifPexInputDescriptorToCredentials; -+ }; -+ }; -+ }; -+ formatData: { -+ proposal: DifPresentationExchangeProposal; -+ request: DifPresentationExchangeRequest; -+ presentation: DifPresentationExchangePresentation; -+ }; -+} -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js -new file mode 100644 -index 0000000..0da0713 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js -@@ -0,0 +1,3 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+//# sourceMappingURL=DifPresentationExchangeProofFormat.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js.map b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js.map -new file mode 100644 -index 0000000..35b56d7 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPresentationExchangeProofFormat.js","sourceRoot":"","sources":["../../../../../src/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormat.ts"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.d.ts b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.d.ts -new file mode 100644 -index 0000000..48bee05 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.d.ts -@@ -0,0 +1,31 @@ -+import type { DifPresentationExchangeProofFormat } from './DifPresentationExchangeProofFormat'; -+import type { AgentContext } from '../../../../agent'; -+import type { DifPexInputDescriptorToCredentials } from '../../../dif-presentation-exchange'; -+import type { ProofFormatService } from '../ProofFormatService'; -+import type { ProofFormatCreateProposalOptions, ProofFormatCreateReturn, ProofFormatProcessOptions, ProofFormatAcceptProposalOptions, FormatCreateRequestOptions, ProofFormatAcceptRequestOptions, ProofFormatProcessPresentationOptions, ProofFormatGetCredentialsForRequestOptions, ProofFormatSelectCredentialsForRequestOptions, ProofFormatAutoRespondProposalOptions, ProofFormatAutoRespondRequestOptions, ProofFormatAutoRespondPresentationOptions } from '../ProofFormatServiceOptions'; -+export declare class PresentationExchangeProofFormatService implements ProofFormatService { -+ readonly formatKey: "presentationExchange"; -+ private presentationExchangeService; -+ supportsFormat(formatIdentifier: string): boolean; -+ createProposal(agentContext: AgentContext, { proofFormats, attachmentId }: ProofFormatCreateProposalOptions): Promise; -+ processProposal(agentContext: AgentContext, { attachment }: ProofFormatProcessOptions): Promise; -+ acceptProposal(agentContext: AgentContext, { attachmentId, proposalAttachment, proofFormats, }: ProofFormatAcceptProposalOptions): Promise; -+ createRequest(agentContext: AgentContext, { attachmentId, proofFormats }: FormatCreateRequestOptions): Promise; -+ processRequest(agentContext: AgentContext, { attachment }: ProofFormatProcessOptions): Promise; -+ acceptRequest(agentContext: AgentContext, { attachmentId, requestAttachment, proofFormats, }: ProofFormatAcceptRequestOptions): Promise; -+ processPresentation(agentContext: AgentContext, { requestAttachment, attachment }: ProofFormatProcessPresentationOptions): Promise; -+ getCredentialsForRequest(agentContext: AgentContext, { requestAttachment }: ProofFormatGetCredentialsForRequestOptions): Promise; -+ selectCredentialsForRequest(agentContext: AgentContext, { requestAttachment }: ProofFormatSelectCredentialsForRequestOptions): Promise<{ -+ credentials: DifPexInputDescriptorToCredentials; -+ }>; -+ shouldAutoRespondToProposal(_agentContext: AgentContext, { requestAttachment, proposalAttachment }: ProofFormatAutoRespondProposalOptions): Promise; -+ shouldAutoRespondToRequest(_agentContext: AgentContext, { requestAttachment, proposalAttachment }: ProofFormatAutoRespondRequestOptions): Promise; -+ /** -+ * -+ * The presentation is already verified in processPresentation, so we can just return true here. -+ * It's only an ack, so it's just that we received the presentation. -+ * -+ */ -+ shouldAutoRespondToPresentation(_agentContext: AgentContext, _options: ProofFormatAutoRespondPresentationOptions): Promise; -+ private getFormatData; -+} -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js -new file mode 100644 -index 0000000..2994bb5 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js -@@ -0,0 +1,235 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.PresentationExchangeProofFormatService = void 0; -+const Attachment_1 = require("../../../../decorators/attachment/Attachment"); -+const error_1 = require("../../../../error"); -+const utils_1 = require("../../../../utils"); -+const dif_presentation_exchange_1 = require("../../../dif-presentation-exchange"); -+const vc_1 = require("../../../vc"); -+const models_1 = require("../../models"); -+const PRESENTATION_EXCHANGE_PRESENTATION_PROPOSAL = 'dif/presentation-exchange/definitions@v1.0'; -+const PRESENTATION_EXCHANGE_PRESENTATION_REQUEST = 'dif/presentation-exchange/definitions@v1.0'; -+const PRESENTATION_EXCHANGE_PRESENTATION = 'dif/presentation-exchange/submission@v1.0'; -+class PresentationExchangeProofFormatService { -+ constructor() { -+ this.formatKey = 'presentationExchange'; -+ } -+ presentationExchangeService(agentContext) { -+ return agentContext.dependencyManager.resolve(dif_presentation_exchange_1.DifPresentationExchangeService); -+ } -+ supportsFormat(formatIdentifier) { -+ return [ -+ PRESENTATION_EXCHANGE_PRESENTATION_PROPOSAL, -+ PRESENTATION_EXCHANGE_PRESENTATION_REQUEST, -+ PRESENTATION_EXCHANGE_PRESENTATION, -+ ].includes(formatIdentifier); -+ } -+ async createProposal(agentContext, { proofFormats, attachmentId }) { -+ const ps = this.presentationExchangeService(agentContext); -+ const pexFormat = proofFormats.presentationExchange; -+ if (!pexFormat) { -+ throw new error_1.AriesFrameworkError('Missing Presentation Exchange format in create proposal attachment format'); -+ } -+ const { presentationDefinition } = pexFormat; -+ ps.validatePresentationDefinition(presentationDefinition); -+ const format = new models_1.ProofFormatSpec({ format: PRESENTATION_EXCHANGE_PRESENTATION_PROPOSAL, attachmentId }); -+ const attachment = this.getFormatData(presentationDefinition, format.attachmentId); -+ return { format, attachment }; -+ } -+ async processProposal(agentContext, { attachment }) { -+ const ps = this.presentationExchangeService(agentContext); -+ const proposal = attachment.getDataAsJson(); -+ ps.validatePresentationDefinition(proposal); -+ } -+ async acceptProposal(agentContext, { attachmentId, proposalAttachment, proofFormats, }) { -+ var _a, _b, _c; -+ const ps = this.presentationExchangeService(agentContext); -+ const presentationExchangeFormat = proofFormats === null || proofFormats === void 0 ? void 0 : proofFormats.presentationExchange; -+ const format = new models_1.ProofFormatSpec({ -+ format: PRESENTATION_EXCHANGE_PRESENTATION_REQUEST, -+ attachmentId, -+ }); -+ const presentationDefinition = proposalAttachment.getDataAsJson(); -+ ps.validatePresentationDefinition(presentationDefinition); -+ const attachment = this.getFormatData({ -+ presentation_definition: presentationDefinition, -+ options: { -+ // NOTE: we always want to include a challenge to prevent replay attacks -+ challenge: (_b = (_a = presentationExchangeFormat === null || presentationExchangeFormat === void 0 ? void 0 : presentationExchangeFormat.options) === null || _a === void 0 ? void 0 : _a.challenge) !== null && _b !== void 0 ? _b : (await agentContext.wallet.generateNonce()), -+ domain: (_c = presentationExchangeFormat === null || presentationExchangeFormat === void 0 ? void 0 : presentationExchangeFormat.options) === null || _c === void 0 ? void 0 : _c.domain, -+ }, -+ }, format.attachmentId); -+ return { format, attachment }; -+ } -+ async createRequest(agentContext, { attachmentId, proofFormats }) { -+ var _a; -+ const ps = this.presentationExchangeService(agentContext); -+ const presentationExchangeFormat = proofFormats.presentationExchange; -+ if (!presentationExchangeFormat) { -+ throw Error('Missing presentation exchange format in create request attachment format'); -+ } -+ const { presentationDefinition, options } = presentationExchangeFormat; -+ ps.validatePresentationDefinition(presentationDefinition); -+ const format = new models_1.ProofFormatSpec({ -+ format: PRESENTATION_EXCHANGE_PRESENTATION_REQUEST, -+ attachmentId, -+ }); -+ const attachment = this.getFormatData({ -+ presentation_definition: presentationDefinition, -+ options: { -+ // NOTE: we always want to include a challenge to prevent replay attacks -+ challenge: (_a = options === null || options === void 0 ? void 0 : options.challenge) !== null && _a !== void 0 ? _a : (await agentContext.wallet.generateNonce()), -+ domain: options === null || options === void 0 ? void 0 : options.domain, -+ }, -+ }, format.attachmentId); -+ return { attachment, format }; -+ } -+ async processRequest(agentContext, { attachment }) { -+ const ps = this.presentationExchangeService(agentContext); -+ const { presentation_definition: presentationDefinition } = attachment.getDataAsJson(); -+ ps.validatePresentationDefinition(presentationDefinition); -+ } -+ async acceptRequest(agentContext, { attachmentId, requestAttachment, proofFormats, }) { -+ var _a, _b; -+ const ps = this.presentationExchangeService(agentContext); -+ const format = new models_1.ProofFormatSpec({ -+ format: PRESENTATION_EXCHANGE_PRESENTATION, -+ attachmentId, -+ }); -+ const { presentation_definition: presentationDefinition, options } = requestAttachment.getDataAsJson(); -+ const credentials = (_b = (_a = proofFormats === null || proofFormats === void 0 ? void 0 : proofFormats.presentationExchange) === null || _a === void 0 ? void 0 : _a.credentials) !== null && _b !== void 0 ? _b : {}; -+ if (Object.keys(credentials).length === 0) { -+ const { areRequirementsSatisfied, requirements } = await ps.getCredentialsForRequest(agentContext, presentationDefinition); -+ if (!areRequirementsSatisfied) { -+ throw new error_1.AriesFrameworkError('Requirements of the presentation definition could not be satisfied'); -+ } -+ requirements.forEach((r) => { -+ r.submissionEntry.forEach((r) => { -+ credentials[r.inputDescriptorId] = r.verifiableCredentials.map((c) => c.credential); -+ }); -+ }); -+ } -+ const presentation = await ps.createPresentation(agentContext, { -+ presentationDefinition, -+ credentialsForInputDescriptor: credentials, -+ challenge: options === null || options === void 0 ? void 0 : options.challenge, -+ domain: options === null || options === void 0 ? void 0 : options.domain, -+ }); -+ if (presentation.verifiablePresentations.length > 1) { -+ throw new error_1.AriesFrameworkError('Invalid amount of verifiable presentations. Only one is allowed.'); -+ } -+ const firstPresentation = presentation.verifiablePresentations[0]; -+ const attachmentData = firstPresentation.encoded; -+ const attachment = this.getFormatData(attachmentData, format.attachmentId); -+ return { attachment, format }; -+ } -+ async processPresentation(agentContext, { requestAttachment, attachment }) { -+ var _a; -+ const ps = this.presentationExchangeService(agentContext); -+ const w3cCredentialService = agentContext.dependencyManager.resolve(vc_1.W3cCredentialService); -+ const request = requestAttachment.getDataAsJson(); -+ const presentation = attachment.getDataAsJson(); -+ let parsedPresentation; -+ let jsonPresentation; -+ // TODO: we should probably move this transformation logic into the VC module, so it -+ // can be reused in AFJ when we need to go from encoded -> parsed -+ if (typeof presentation === 'string') { -+ parsedPresentation = vc_1.W3cJwtVerifiablePresentation.fromSerializedJwt(presentation); -+ jsonPresentation = parsedPresentation.presentation.toJSON(); -+ } -+ else { -+ parsedPresentation = utils_1.JsonTransformer.fromJSON(presentation, vc_1.W3cJsonLdVerifiablePresentation); -+ jsonPresentation = parsedPresentation.toJSON(); -+ } -+ if (!jsonPresentation.presentation_submission) { -+ agentContext.config.logger.error('Received presentation in PEX proof format without presentation submission. This should not happen.'); -+ return false; -+ } -+ if (!((_a = request.options) === null || _a === void 0 ? void 0 : _a.challenge)) { -+ agentContext.config.logger.error('Received presentation in PEX proof format without challenge. This should not happen.'); -+ return false; -+ } -+ try { -+ ps.validatePresentationDefinition(request.presentation_definition); -+ ps.validatePresentationSubmission(jsonPresentation.presentation_submission); -+ ps.validatePresentation(request.presentation_definition, parsedPresentation); -+ let verificationResult; -+ // FIXME: for some reason it won't accept the input if it doesn't know -+ // whether it's a JWT or JSON-LD VP even though the input is the same. -+ // Not sure how to fix -+ if (parsedPresentation.claimFormat === vc_1.ClaimFormat.JwtVp) { -+ verificationResult = await w3cCredentialService.verifyPresentation(agentContext, { -+ presentation: parsedPresentation, -+ challenge: request.options.challenge, -+ domain: request.options.domain, -+ }); -+ } -+ else { -+ verificationResult = await w3cCredentialService.verifyPresentation(agentContext, { -+ presentation: parsedPresentation, -+ challenge: request.options.challenge, -+ domain: request.options.domain, -+ }); -+ } -+ if (!verificationResult.isValid) { -+ agentContext.config.logger.error(`Received presentation in PEX proof format that could not be verified: ${verificationResult.error}`, { verificationResult }); -+ return false; -+ } -+ return true; -+ } -+ catch (e) { -+ agentContext.config.logger.error(`Failed to verify presentation in PEX proof format service: ${e.message}`, { -+ cause: e, -+ }); -+ return false; -+ } -+ } -+ async getCredentialsForRequest(agentContext, { requestAttachment }) { -+ const ps = this.presentationExchangeService(agentContext); -+ const { presentation_definition: presentationDefinition } = requestAttachment.getDataAsJson(); -+ ps.validatePresentationDefinition(presentationDefinition); -+ const presentationSubmission = await ps.getCredentialsForRequest(agentContext, presentationDefinition); -+ return presentationSubmission; -+ } -+ async selectCredentialsForRequest(agentContext, { requestAttachment }) { -+ const ps = this.presentationExchangeService(agentContext); -+ const { presentation_definition: presentationDefinition } = requestAttachment.getDataAsJson(); -+ const credentialsForRequest = await ps.getCredentialsForRequest(agentContext, presentationDefinition); -+ return { credentials: ps.selectCredentialsForRequest(credentialsForRequest) }; -+ } -+ async shouldAutoRespondToProposal(_agentContext, { requestAttachment, proposalAttachment }) { -+ const proposalData = proposalAttachment.getDataAsJson(); -+ const requestData = requestAttachment.getDataAsJson(); -+ return (0, utils_1.deepEquality)(requestData.presentation_definition, proposalData); -+ } -+ async shouldAutoRespondToRequest(_agentContext, { requestAttachment, proposalAttachment }) { -+ const proposalData = proposalAttachment.getDataAsJson(); -+ const requestData = requestAttachment.getDataAsJson(); -+ return (0, utils_1.deepEquality)(requestData.presentation_definition, proposalData); -+ } -+ /** -+ * -+ * The presentation is already verified in processPresentation, so we can just return true here. -+ * It's only an ack, so it's just that we received the presentation. -+ * -+ */ -+ async shouldAutoRespondToPresentation( -+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -+ _agentContext, -+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -+ _options) { -+ return true; -+ } -+ getFormatData(data, id) { -+ const attachment = new Attachment_1.Attachment({ -+ id, -+ mimeType: 'application/json', -+ data: new Attachment_1.AttachmentData({ -+ json: data, -+ }), -+ }); -+ return attachment; -+ } -+} -+exports.PresentationExchangeProofFormatService = PresentationExchangeProofFormatService; -+//# sourceMappingURL=DifPresentationExchangeProofFormatService.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js.map b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js.map -new file mode 100644 -index 0000000..a08f1ef ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"DifPresentationExchangeProofFormatService.js","sourceRoot":"","sources":["../../../../../src/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.ts"],"names":[],"mappings":";;;AA2BA,6EAAyF;AACzF,6CAAuD;AACvD,6CAAiE;AACjE,kFAAmF;AACnF,oCAKoB;AACpB,yCAA8C;AAE9C,MAAM,2CAA2C,GAAG,4CAA4C,CAAA;AAChG,MAAM,0CAA0C,GAAG,4CAA4C,CAAA;AAC/F,MAAM,kCAAkC,GAAG,2CAA2C,CAAA;AAEtF,MAAa,sCAAsC;IAAnD;QACkB,cAAS,GAAG,sBAA+B,CAAA;IAwU7D,CAAC;IAtUS,2BAA2B,CAAC,YAA0B;QAC5D,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,0DAA8B,CAAC,EAAE;YAChF,MAAM,IAAI,2BAAmB,CAC3B,uIAAuI,CACxI,CAAA;SACF;QAED,OAAO,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,0DAA8B,CAAC,CAAA;IAC/E,CAAC;IAEM,cAAc,CAAC,gBAAwB;QAC5C,OAAO;YACL,2CAA2C;YAC3C,0CAA0C;YAC1C,kCAAkC;SACnC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC9B,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,YAA0B,EAC1B,EAAE,YAAY,EAAE,YAAY,EAAwE;QAEpG,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QAEzD,MAAM,SAAS,GAAG,YAAY,CAAC,oBAAoB,CAAA;QACnD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,2BAAmB,CAAC,2EAA2E,CAAC,CAAA;SAC3G;QAED,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAA;QAE5C,EAAE,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAA;QAEzD,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC,EAAE,MAAM,EAAE,2CAA2C,EAAE,YAAY,EAAE,CAAC,CAAA;QAEzG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QAElF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,YAA0B,EAAE,EAAE,UAAU,EAA6B;QAChG,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAmC,CAAA;QAC5E,EAAE,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,YAA0B,EAC1B,EACE,YAAY,EACZ,kBAAkB,EAClB,YAAY,GACyD;;QAEvE,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QAEzD,MAAM,0BAA0B,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,oBAAoB,CAAA;QAErE,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC;YACjC,MAAM,EAAE,0CAA0C;YAClD,YAAY;SACb,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAmC,CAAA;QAClG,EAAE,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAA;QAEzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CACnC;YACE,uBAAuB,EAAE,sBAAsB;YAC/C,OAAO,EAAE;gBACP,wEAAwE;gBACxE,SAAS,EAAE,MAAA,MAAA,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,OAAO,0CAAE,SAAS,mCAAI,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxG,MAAM,EAAE,MAAA,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,OAAO,0CAAE,MAAM;aACpD;SACuC,EAC1C,MAAM,CAAC,YAAY,CACpB,CAAA;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,YAA0B,EAC1B,EAAE,YAAY,EAAE,YAAY,EAAkE;;QAE9F,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QAEzD,MAAM,0BAA0B,GAAG,YAAY,CAAC,oBAAoB,CAAA;QACpE,IAAI,CAAC,0BAA0B,EAAE;YAC/B,MAAM,KAAK,CAAC,0EAA0E,CAAC,CAAA;SACxF;QAED,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAA;QAEtE,EAAE,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAA;QAEzD,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC;YACjC,MAAM,EAAE,0CAA0C;YAClD,YAAY;SACb,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CACnC;YACE,uBAAuB,EAAE,sBAAsB;YAC/C,OAAO,EAAE;gBACP,wEAAwE;gBACxE,SAAS,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC5E,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;aACxB;SACuC,EAC1C,MAAM,CAAC,YAAY,CACpB,CAAA;QAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,YAA0B,EAAE,EAAE,UAAU,EAA6B;QAC/F,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,GACvD,UAAU,CAAC,aAAa,EAAkC,CAAA;QAC5D,EAAE,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,YAA0B,EAC1B,EACE,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACwD;;QAEtE,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QAEzD,MAAM,MAAM,GAAG,IAAI,wBAAe,CAAC;YACjC,MAAM,EAAE,kCAAkC;YAC1C,YAAY;SACb,CAAC,CAAA;QAEF,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAChE,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QAEnE,MAAM,WAAW,GAAuC,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,oBAAoB,0CAAE,WAAW,mCAAI,EAAE,CAAA;QAC7G,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,MAAM,EAAE,wBAAwB,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAClF,YAAY,EACZ,sBAAsB,CACvB,CAAA;YAED,IAAI,CAAC,wBAAwB,EAAE;gBAC7B,MAAM,IAAI,2BAAmB,CAAC,oEAAoE,CAAC,CAAA;aACpG;YAED,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9B,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;gBACrF,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;SACH;QAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE;YAC7D,sBAAsB;YACtB,6BAA6B,EAAE,WAAW;YAC1C,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;YAC7B,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;SACxB,CAAC,CAAA;QAEF,IAAI,YAAY,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,MAAM,IAAI,2BAAmB,CAAC,kEAAkE,CAAC,CAAA;SAClG;QAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;QACjE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAA8C,CAAA;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,YAA0B,EAC1B,EAAE,iBAAiB,EAAE,UAAU,EAAyC;;QAExE,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,yBAAoB,CAAC,CAAA;QAEzF,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QACjF,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,EAAuC,CAAA;QACpF,IAAI,kBAA6C,CAAA;QACjD,IAAI,gBAAqC,CAAA;QAEzC,oFAAoF;QACpF,iEAAiE;QACjE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACpC,kBAAkB,GAAG,iCAA4B,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;YACjF,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,CAAA;SAC5D;aAAM;YACL,kBAAkB,GAAG,uBAAe,CAAC,QAAQ,CAAC,YAAY,EAAE,oCAA+B,CAAC,CAAA;YAC5F,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAA;SAC/C;QAED,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE;YAC7C,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC9B,oGAAoG,CACrG,CAAA;YACD,OAAO,KAAK,CAAA;SACb;QAED,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,SAAS,CAAA,EAAE;YAC/B,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC9B,sFAAsF,CACvF,CAAA;YACD,OAAO,KAAK,CAAA;SACb;QAED,IAAI;YACF,EAAE,CAAC,8BAA8B,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;YAClE,EAAE,CAAC,8BAA8B,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;YAC3E,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAA;YAE5E,IAAI,kBAA+C,CAAA;YAEnD,sEAAsE;YACtE,sEAAsE;YACtE,sBAAsB;YACtB,IAAI,kBAAkB,CAAC,WAAW,KAAK,gBAAW,CAAC,KAAK,EAAE;gBACxD,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,EAAE;oBAC/E,YAAY,EAAE,kBAAkB;oBAChC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;oBACpC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;iBAC/B,CAAC,CAAA;aACH;iBAAM;gBACL,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,EAAE;oBAC/E,YAAY,EAAE,kBAAkB;oBAChC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;oBACpC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;iBAC/B,CAAC,CAAA;aACH;YAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC/B,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC9B,yEAAyE,kBAAkB,CAAC,KAAK,EAAE,EACnG,EAAE,kBAAkB,EAAE,CACvB,CAAA;gBACD,OAAO,KAAK,CAAA;aACb;YAED,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1G,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;YACF,OAAO,KAAK,CAAA;SACb;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACnC,YAA0B,EAC1B,EAAE,iBAAiB,EAAkF;QAErG,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,GACvD,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QAEnE,EAAE,CAAC,8BAA8B,CAAC,sBAAsB,CAAC,CAAA;QAEzD,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;QACtG,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACtC,YAA0B,EAC1B,EAAE,iBAAiB,EAAqF;QAExG,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAA;QACzD,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,GACvD,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QAEnE,MAAM,qBAAqB,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;QACrG,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,EAAE,CAAA;IAC/E,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACtC,aAA2B,EAC3B,EAAE,iBAAiB,EAAE,kBAAkB,EAAyC;QAEhF,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAmC,CAAA;QACxF,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QAErF,OAAO,IAAA,oBAAY,EAAC,WAAW,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,0BAA0B,CACrC,aAA2B,EAC3B,EAAE,iBAAiB,EAAE,kBAAkB,EAAwC;QAE/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAmC,CAAA;QACxF,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,EAAkC,CAAA;QAErF,OAAO,IAAA,oBAAY,EAAC,WAAW,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,+BAA+B;IAC1C,6DAA6D;IAC7D,aAA2B;IAC3B,6DAA6D;IAC7D,QAAmD;QAEnD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa,CAAC,IAAa,EAAE,EAAU;QAC7C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;YAChC,EAAE;YACF,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,2BAAc,CAAC;gBACvB,IAAI,EAAE,IAAiB;aACxB,CAAC;SACH,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AAzUD,wFAyUC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.d.ts b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.d.ts -new file mode 100644 -index 0000000..af8096b ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.d.ts -@@ -0,0 +1,2 @@ -+export * from './DifPresentationExchangeProofFormat'; -+export * from './DifPresentationExchangeProofFormatService'; -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js -new file mode 100644 -index 0000000..9a5dcd9 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js -@@ -0,0 +1,19 @@ -+"use strict"; -+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ var desc = Object.getOwnPropertyDescriptor(m, k); -+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { -+ desc = { enumerable: true, get: function() { return m[k]; } }; -+ } -+ Object.defineProperty(o, k2, desc); -+}) : (function(o, m, k, k2) { -+ if (k2 === undefined) k2 = k; -+ o[k2] = m[k]; -+})); -+var __exportStar = (this && this.__exportStar) || function(m, exports) { -+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -+}; -+Object.defineProperty(exports, "__esModule", { value: true }); -+__exportStar(require("./DifPresentationExchangeProofFormat"), exports); -+__exportStar(require("./DifPresentationExchangeProofFormatService"), exports); -+//# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js.map b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js.map -new file mode 100644 -index 0000000..43bc748 ---- /dev/null -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/dif-presentation-exchange/index.js.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/proofs/formats/dif-presentation-exchange/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uEAAoD;AACpD,8EAA2D"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.d.ts b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.d.ts -index 7a7a220..2312524 100644 ---- a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.d.ts -@@ -1,5 +1,6 @@ - export * from './ProofFormat'; - export * from './ProofFormatService'; - export * from './ProofFormatServiceOptions'; -+export * from './dif-presentation-exchange'; - import * as ProofFormatServiceOptions from './ProofFormatServiceOptions'; - export { ProofFormatServiceOptions }; -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js -index b87adf1..5f422e8 100644 ---- a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js -@@ -30,6 +30,7 @@ exports.ProofFormatServiceOptions = void 0; - __exportStar(require("./ProofFormat"), exports); - __exportStar(require("./ProofFormatService"), exports); - __exportStar(require("./ProofFormatServiceOptions"), exports); -+__exportStar(require("./dif-presentation-exchange"), exports); - const ProofFormatServiceOptions = __importStar(require("./ProofFormatServiceOptions")); - exports.ProofFormatServiceOptions = ProofFormatServiceOptions; - //# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js.map b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js.map -index 6164f1c..af2da36 100644 ---- a/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js.map -+++ b/node_modules/@aries-framework/core/build/modules/proofs/formats/index.js.map -@@ -1 +1 @@ --{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/proofs/formats/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,uDAAoC;AACpC,8DAA2C;AAE3C,uFAAwE;AAE/D,8DAAyB"} -\ No newline at end of file -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/proofs/formats/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,uDAAoC;AACpC,8DAA2C;AAE3C,8DAA2C;AAE3C,uFAAwE;AAE/D,8DAAyB"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/routing/messages/ForwardMessage.d.ts b/node_modules/@aries-framework/core/build/modules/routing/messages/ForwardMessage.d.ts -index 4f8577b..396f78a 100644 ---- a/node_modules/@aries-framework/core/build/modules/routing/messages/ForwardMessage.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/routing/messages/ForwardMessage.d.ts -@@ -3,6 +3,7 @@ import { EncryptedMessage } from '../../../types'; - export interface ForwardMessageOptions { - id?: string; - to: string; -+ messageType: string; - message: EncryptedMessage; - } - /** -@@ -19,5 +20,6 @@ export declare class ForwardMessage extends AgentMessage { - readonly type: string; - static readonly type: import("../../../utils/messageType").ParsedMessageType; - to: string; -+ messageType: string; - message: EncryptedMessage; - } -diff --git a/node_modules/@aries-framework/core/build/modules/vc/index.d.ts b/node_modules/@aries-framework/core/build/modules/vc/index.d.ts -index c0162b1..c9a3600 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/index.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/vc/index.d.ts -@@ -1,6 +1,6 @@ - export * from './W3cCredentialService'; - export * from './W3cCredentialServiceOptions'; --export * from './repository/W3cCredentialRecord'; -+export * from './repository'; - export * from './W3cCredentialsModule'; - export * from './W3cCredentialsApi'; - export * from './models'; -diff --git a/node_modules/@aries-framework/core/build/modules/vc/index.js b/node_modules/@aries-framework/core/build/modules/vc/index.js -index ae6f096..1a8fd9d 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/index.js -+++ b/node_modules/@aries-framework/core/build/modules/vc/index.js -@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); - exports.w3cDate = void 0; - __exportStar(require("./W3cCredentialService"), exports); - __exportStar(require("./W3cCredentialServiceOptions"), exports); --__exportStar(require("./repository/W3cCredentialRecord"), exports); -+__exportStar(require("./repository"), exports); - __exportStar(require("./W3cCredentialsModule"), exports); - __exportStar(require("./W3cCredentialsApi"), exports); - __exportStar(require("./models"), exports); -diff --git a/node_modules/@aries-framework/core/build/modules/vc/index.js.map b/node_modules/@aries-framework/core/build/modules/vc/index.js.map -index 4ea7ae3..fa8f2a8 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/index.js.map -+++ b/node_modules/@aries-framework/core/build/modules/vc/index.js.map -@@ -1 +1 @@ --{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/vc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,gEAA6C;AAC7C,mEAAgD;AAChD,yDAAsC;AACtC,sDAAmC;AACnC,2CAAwB;AACxB,mDAAgC;AAChC,2CAAwB;AACxB,8CAA2B;AAC3B,+BAAgC;AAAvB,+FAAA,OAAO,OAAA"} -\ No newline at end of file -+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/vc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,gEAA6C;AAC7C,+CAA4B;AAC5B,yDAAsC;AACtC,sDAAmC;AACnC,2CAAwB;AACxB,mDAAgC;AAChC,2CAAwB;AACxB,8CAA2B;AAC3B,+BAAgC;AAAvB,+FAAA,OAAO,OAAA"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cJsonPresentation.d.ts b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cJsonPresentation.d.ts -index 70bfd9c..066c561 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cJsonPresentation.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cJsonPresentation.d.ts -@@ -1,4 +1,5 @@ - import type { JsonObject } from '../../../../types'; -+import type { DifPresentationExchangeSubmission } from '../../../dif-presentation-exchange'; - import type { W3cJsonCredential } from '../credential/W3cJsonCredential'; - export interface W3cJsonPresentation { - '@context': Array; -@@ -8,5 +9,6 @@ export interface W3cJsonPresentation { - id?: string; - }; - verifiableCredential: Array; -+ presentation_submission?: DifPresentationExchangeSubmission; - [key: string]: unknown; - } -diff --git a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.d.ts b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.d.ts -index a9bca05..e9bc594 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.d.ts -+++ b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.d.ts -@@ -1,4 +1,5 @@ - import type { W3cHolderOptions } from './W3cHolder'; -+import type { W3cJsonPresentation } from './W3cJsonPresentation'; - import type { JsonObject } from '../../../../types'; - import type { W3cVerifiableCredential } from '../credential/W3cVerifiableCredential'; - import type { ValidationOptions } from 'class-validator'; -@@ -19,5 +20,6 @@ export declare class W3cPresentation { - holder?: string | W3cHolder; - verifiableCredential: SingleOrArray; - get holderId(): string | null; -+ toJSON(): W3cJsonPresentation; - } - export declare function IsVerifiablePresentationType(validationOptions?: ValidationOptions): PropertyDecorator; -diff --git a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js -index 479dfe1..ab201fb 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js -+++ b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js -@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); - exports.IsVerifiablePresentationType = exports.W3cPresentation = void 0; - const class_transformer_1 = require("class-transformer"); - const class_validator_1 = require("class-validator"); -+const utils_1 = require("../../../../utils"); - const validators_1 = require("../../../../utils/validators"); - const constants_1 = require("../../constants"); - const W3cJsonLdVerifiableCredential_1 = require("../../data-integrity/models/W3cJsonLdVerifiableCredential"); -@@ -37,6 +38,9 @@ class W3cPresentation { - return null; - return this.holder instanceof W3cHolder_1.W3cHolder ? this.holder.id : this.holder; - } -+ toJSON() { -+ return utils_1.JsonTransformer.toJSON(this); -+ } - } - __decorate([ - (0, class_transformer_1.Expose)({ name: '@context' }), -diff --git a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js.map b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js.map -index 91e4a29..9782198 100644 ---- a/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js.map -+++ b/node_modules/@aries-framework/core/build/modules/vc/models/presentation/W3cPresentation.js.map -@@ -1 +1 @@ --{"version":3,"file":"W3cPresentation.js","sourceRoot":"","sources":["../../../../../src/modules/vc/models/presentation/W3cPresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,yDAA0C;AAC1C,qDAAsF;AAGtF,6DAAkF;AAClF,+CAA0F;AAC1F,6GAAyG;AACzG,wFAAoF;AACpF,iDAA4D;AAC5D,mFAA0F;AAE1F,2CAA0E;AAU1E,MAAa,eAAe;IAC1B,YAAmB,OAA+B;;QAChD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;YACpB,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,sCAA0B,CAAC,CAAA;YAC9D,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,wCAA4B,CAAC,CAAA;YAC1D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAA;YAExD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,qBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aAClG;SACF;IACH,CAAC;IAuBD,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAE7B,OAAO,IAAI,CAAC,MAAM,YAAY,qBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IACxE,CAAC;CACF;AA1BC;IAAC,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5B,IAAA,sCAAyB,GAAE;8BACX,KAAK;gDAAqB;AAE3C;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,kBAAK,GAAE;;2CACU;AAElB;IAAC,4BAA4B,EAAE;8BACjB,KAAK;6CAAQ;AAE3B;IAAC,IAAA,gCAAoB,GAAE;IACtB,IAAA,uBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;;+CACqB;AAElC;IAAC,IAAA,4DAAkC,GAAE;IACpC,IAAA,yCAA4B,EAAC,EAAE,SAAS,EAAE,CAAC,6DAA6B,EAAE,uDAA0B,CAAC,EAAE,CAAC;IACxG,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACqC;AAjCtE,0CAwCC;AAED,oBAAoB;AAEpB,SAAgB,4BAA4B,CAAC,iBAAqC;IAChF,OAAO,IAAA,4BAAU,EACf;QACE,IAAI,EAAE,8BAA8B;QACpC,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,KAAK,CAAC,QAAQ,CAAC,wCAA4B,CAAC,CAAA;iBACpD;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,cAAc,EAAE,IAAA,8BAAY,EAC1B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,+EAA+E,EAC5G,iBAAiB,CAClB;SACF;KACF,EACD,iBAAiB,CAClB,CAAA;AACH,CAAC;AAnBD,oEAmBC"} -\ No newline at end of file -+{"version":3,"file":"W3cPresentation.js","sourceRoot":"","sources":["../../../../../src/modules/vc/models/presentation/W3cPresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,yDAA0C;AAC1C,qDAAsF;AAEtF,6CAAmD;AAEnD,6DAAkF;AAClF,+CAA0F;AAC1F,6GAAyG;AACzG,wFAAoF;AACpF,iDAA4D;AAC5D,mFAA0F;AAE1F,2CAA0E;AAU1E,MAAa,eAAe;IAC1B,YAAmB,OAA+B;;QAChD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;YACpB,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,sCAA0B,CAAC,CAAA;YAC9D,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,wCAA4B,CAAC,CAAA;YAC1D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAA;YAExD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,qBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aAClG;SACF;IACH,CAAC;IAuBD,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAE7B,OAAO,IAAI,CAAC,MAAM,YAAY,qBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IACxE,CAAC;IAEM,MAAM;QACX,OAAO,uBAAe,CAAC,MAAM,CAAC,IAAI,CAAwB,CAAA;IAC5D,CAAC;CACF;AA9BC;IAAC,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5B,IAAA,sCAAyB,GAAE;8BACX,KAAK;gDAAqB;AAE3C;IAAC,IAAA,4BAAU,GAAE;IACZ,IAAA,kBAAK,GAAE;;2CACU;AAElB;IAAC,4BAA4B,EAAE;8BACjB,KAAK;6CAAQ;AAE3B;IAAC,IAAA,gCAAoB,GAAE;IACtB,IAAA,uBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;;+CACqB;AAElC;IAAC,IAAA,4DAAkC,GAAE;IACpC,IAAA,yCAA4B,EAAC,EAAE,SAAS,EAAE,CAAC,6DAA6B,EAAE,uDAA0B,CAAC,EAAE,CAAC;IACxG,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACqC;AAjCtE,0CA4CC;AAED,oBAAoB;AAEpB,SAAgB,4BAA4B,CAAC,iBAAqC;IAChF,OAAO,IAAA,4BAAU,EACf;QACE,IAAI,EAAE,8BAA8B;QACpC,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,OAAO,KAAK,CAAC,QAAQ,CAAC,wCAA4B,CAAC,CAAA;iBACpD;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,cAAc,EAAE,IAAA,8BAAY,EAC1B,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,+EAA+E,EAC5G,iBAAiB,CAClB;SACF;KACF,EACD,iBAAiB,CAClB,CAAA;AACH,CAAC;AAnBD,oEAmBC"} -\ No newline at end of file -diff --git a/node_modules/@aries-framework/core/build/types.d.ts b/node_modules/@aries-framework/core/build/types.d.ts -index c3e854d..f029ab7 100644 ---- a/node_modules/@aries-framework/core/build/types.d.ts -+++ b/node_modules/@aries-framework/core/build/types.d.ts -@@ -80,6 +80,7 @@ export interface PlaintextMessage { - thid?: string; - pthid?: string; - }; -+ messageType: string; - [key: string]: unknown; - } - export interface OutboundPackage { \ No newline at end of file diff --git a/patches/@ayanworks+polygon-did-resolver+0.0.16-alpha.10.patch b/patches/@ayanworks+polygon-did-resolver+0.0.16-alpha.10.patch deleted file mode 100644 index 8256de9e..00000000 --- a/patches/@ayanworks+polygon-did-resolver+0.0.16-alpha.10.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/@ayanworks/polygon-did-resolver/build/config.js b/node_modules/@ayanworks/polygon-did-resolver/build/config.js -index 6362a6b..a83b612 100644 ---- a/node_modules/@ayanworks/polygon-did-resolver/build/config.js -+++ b/node_modules/@ayanworks/polygon-did-resolver/build/config.js -@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); - exports.networkConfig = void 0; - exports.networkConfig = { - testnet: { -- URL: 'https://rpc-mumbai.maticvigil.com/', -+ URL: 'https://polygon-mumbai.infura.io/v3/0579d305568d404e996e49695e9272a3', - CONTRACT_ADDRESS: '0x12513116875BB3E4F098Ce74624739Ee51bAf023', - }, - mainnet: { \ No newline at end of file diff --git a/patches/@credo-ts+core+0.5.0.patch b/patches/@credo-ts+core+0.5.0.patch new file mode 100644 index 00000000..7350b168 --- /dev/null +++ b/patches/@credo-ts+core+0.5.0.patch @@ -0,0 +1,50 @@ +diff --git a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js +index 12261a9..0238d59 100644 +--- a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js ++++ b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js +@@ -32,12 +32,14 @@ let EnvelopeService = class EnvelopeService { + let encryptedMessage = await agentContext.wallet.pack(message, recipientKeysBase58, senderKeyBase58 !== null && senderKeyBase58 !== void 0 ? senderKeyBase58 : undefined); + // If the message has routing keys (mediator) pack for each mediator + for (const routingKeyBase58 of routingKeysBase58) { ++ console.log(`message['@type']`, JSON.stringify(message['@type'])) + const forwardMessage = new messages_1.ForwardMessage({ + // Forward to first recipient key + to: recipientKeysBase58[0], + message: encryptedMessage, + }); + recipientKeysBase58 = [routingKeyBase58]; ++ forwardMessage["messageType"] = message['@type']; + this.logger.debug('Forward message created', forwardMessage); + const forwardJson = forwardMessage.toJSON({ + useDidSovPrefixWhereAllowed: agentContext.config.useDidSovPrefixWhereAllowed, +diff --git a/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts b/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts +index 4f8577b..396f78a 100644 +--- a/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts ++++ b/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts +@@ -3,6 +3,7 @@ import { EncryptedMessage } from '../../../types'; + export interface ForwardMessageOptions { + id?: string; + to: string; ++ messageType: string; + message: EncryptedMessage; + } + /** +@@ -19,5 +20,6 @@ export declare class ForwardMessage extends AgentMessage { + readonly type: string; + static readonly type: import("../../../utils/messageType").ParsedMessageType; + to: string; ++ messageType: string; + message: EncryptedMessage; + } +diff --git a/node_modules/@credo-ts/core/build/types.d.ts b/node_modules/@credo-ts/core/build/types.d.ts +index e0384d9..0a669fb 100644 +--- a/node_modules/@credo-ts/core/build/types.d.ts ++++ b/node_modules/@credo-ts/core/build/types.d.ts +@@ -81,6 +81,7 @@ export interface PlaintextMessage { + thid?: string; + pthid?: string; + }; ++ messageType: string; + [key: string]: unknown; + } + export interface OutboundPackage { diff --git a/samples/cliConfig.json b/samples/cliConfig.json index 2e5ef5f6..81b140af 100644 --- a/samples/cliConfig.json +++ b/samples/cliConfig.json @@ -8,7 +8,7 @@ "walletPassword": "postgres", "walletAdminAccount": "postgres", "walletAdminPassword": "postgres", - "walletScheme": "DatabasePerWallet", + "walletScheme": "ProfilePerWallet", "indyLedger": [ { "genesisTransactions": "https://raw.githubusercontent.com/Indicio-tech/indicio-network/main/genesis_files/pool_transactions_testnet_genesis", @@ -25,10 +25,9 @@ ], "endpoint": ["http://localhost:4002"], "autoAcceptConnections": true, - "autoAcceptCredentials": "contentApproved", + "autoAcceptCredentials": "always", "autoAcceptProofs": "contentApproved", - "useLegacyDidSovPrefix": true, - "logLevel": 5, + "logLevel": 2, "inboundTransport": [ { "transport": "http", @@ -36,12 +35,14 @@ } ], "outboundTransport": ["http"], - "autoAcceptMediationRequests": false, "adminPort": 4001, "tenancy": true, - "didRegistryContractAddress": "0x12513116875BB3E4F098Ce74624739Ee51bAf023", - "schemaManagerContractAddress": "0x552992e9f14b15bBd76488cD4c38c89B80259f37", - "rpcUrl": "https://polygon-mumbai.infura.io/v3/0579d305568d404e996e49695e9272a3", - "fileServerUrl": "https://schema.credebl.id/", - "fileServerToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBeWFuV29ya3MiLCJpZCI6ImNhZDI3ZjhjLTMyNWYtNDRmZC04ZmZkLWExNGNhZTY3NTMyMSJ9.I3IR7abjWbfStnxzn1BhxhV0OEzt1x3mULjDdUcgWHk" + "didRegistryContractAddress": "", + "schemaManagerContractAddress": "", + "rpcUrl": "", + "fileServerUrl": "", + "fileServerToken": "", + "walletConnectTimeout": 10, + "walletMaxConnections": 2000, + "walletIdleTimeout": 30 } diff --git a/samples/sampleWithApp.ts b/samples/sampleWithApp.ts index 0b837106..5d844e0f 100644 --- a/samples/sampleWithApp.ts +++ b/samples/sampleWithApp.ts @@ -1,6 +1,6 @@ import type { ServerConfig } from '../src/utils/ServerConfig' -import { AgentConfig } from '@aries-framework/core' +import { AgentConfig } from '@credo-ts/core' import bodyParser from 'body-parser' import express from 'express' import { connect } from 'ngrok' diff --git a/src/authentication.ts b/src/authentication.ts index 30cf4bf6..fd054dc5 100644 --- a/src/authentication.ts +++ b/src/authentication.ts @@ -1,6 +1,6 @@ import type * as express from 'express' -import { LogLevel } from '@aries-framework/core' +import { LogLevel } from '@credo-ts/core' import { TsLogger } from './utils/logger' @@ -14,8 +14,8 @@ export async function expressAuthentication( ) { const logger = new TsLogger(LogLevel.info) - logger.info(`secMethod::: ${JSON.stringify(secMethod)}`) - logger.info(`scopes::: ${JSON.stringify(scopes)}`) + logger.info(`secMethod::: ${secMethod}`) + logger.info(`scopes::: ${scopes}`) const apiKeyHeader = request.headers['authorization'] diff --git a/src/cli.ts b/src/cli.ts index 4f57ea24..489a96d0 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -3,6 +3,7 @@ import type { InboundTransport, Transports, AriesRestConfig } from './cliAgent' import yargs from 'yargs' import { runRestAgent } from './cliAgent' +import { IDLE_TIMEOUT, CONNECT_TIMEOUT, MAX_CONNECTIONS } from './utils/util' const parsed = yargs .command('start', 'Start AFJ Rest agent') @@ -51,9 +52,6 @@ const parsed = yargs array: true, default: [], }) - .option('public-did-seed', { - string: true, - }) .option('endpoint', { array: true, }) @@ -61,10 +59,6 @@ const parsed = yargs number: true, default: 3, }) - .option('use-legacy-did-sov-prefix', { - boolean: true, - default: false, - }) .option('outbound-transport', { default: [], choices: ['http', 'ws'], @@ -107,17 +101,10 @@ const parsed = yargs choices: ['always', 'never', 'contentApproved'], default: 'never', }) - .option('auto-accept-mediation-requests', { - boolean: true, - default: false, - }) .option('auto-accept-proofs', { choices: ['always', 'never', 'contentApproved'], default: 'never', }) - .option('connection-image-url', { - string: true, - }) .option('webhook-url', { string: true, }) @@ -129,22 +116,30 @@ const parsed = yargs boolean: true, default: false, }) - // .option('storage-config', { - // array: true, - // default: [], - // coerce: (input) => JSON.parse(input), - // }) - // .option('storageConfig', { - // type: 'string', - // describe: 'Storage configuration JSON', - // coerce: (value) => { - // try { - // return JSON.parse(value); - // } catch (error) { - // throw new Error('Invalid JSON format for storageConfig'); - // } - // }, - // }) + .option('did-registry-contract-address', { + string: true, + }) + .option('schema-manager-contract-address', { + string: true, + }) + .option('rpc-url', { + string: true, + }) + .option('file-server-url', { + string: true, + }) + .option('file-server-token', { + string: true, + }) + .option('wallet-connect-timeout', { + number: true, + }) + .option('wallet-max-connections', { + number: true, + }) + .option('wallet-idle-timeout', { + number: true, + }) .config() .env('AFJ_REST') @@ -166,9 +161,9 @@ export async function runCliServer() { type: parsed['wallet-type'], config: { host: parsed['wallet-url'], - connectTimeout: 10, - maxConnections: 1000, - idleTimeout: 30000, + connectTimeout: parsed['wallet-connect-timeout'] || CONNECT_TIMEOUT, + maxConnections: parsed['wallet-max-connections'] || MAX_CONNECTIONS, + idleTimeout: parsed['wallet-idle-timeout'] || IDLE_TIMEOUT, }, credentials: { account: parsed['wallet-account'], @@ -179,24 +174,21 @@ export async function runCliServer() { }, }, indyLedger: parsed['indy-ledger'], - // publicDidSeed: parsed['public-did-seed'], endpoints: parsed.endpoint, autoAcceptConnections: parsed['auto-accept-connections'], autoAcceptCredentials: parsed['auto-accept-credentials'], autoAcceptProofs: parsed['auto-accept-proofs'], - autoAcceptMediationRequests: parsed['auto-accept-mediation-requests'], - useLegacyDidSovPrefix: parsed['use-legacy-did-sov-prefix'], - logLevel: 2, + logLevel: parsed['log-level'], inboundTransports: parsed['inbound-transport'], outboundTransports: parsed['outbound-transport'], - connectionImageUrl: parsed['connection-image-url'], webhookUrl: parsed['webhook-url'], adminPort: parsed['admin-port'], tenancy: parsed['tenancy'], - didRegistryContractAddress: parsed['didRegistryContractAddress'], - schemaManagerContractAddress: parsed['schemaManagerContractAddress'], - rpcUrl: parsed['rpcUrl'], - fileServerUrl: parsed['fileServerUrl'], - fileServerToken: parsed['fileServerToken'], + didRegistryContractAddress: parsed['did-registry-contract-address'], + schemaManagerContractAddress: parsed['schema-manager-contract-address'], + rpcUrl: parsed['rpc-url'], + fileServerUrl: parsed['file-server-url'], + fileServerToken: parsed['file-server-token'], + walletScheme: parsed['wallet-scheme'], } as unknown as AriesRestConfig) } diff --git a/src/cliAgent.ts b/src/cliAgent.ts index 6730a3cd..e763b243 100644 --- a/src/cliAgent.ts +++ b/src/cliAgent.ts @@ -1,7 +1,8 @@ -import type { InitConfig } from '@aries-framework/core' -import type { WalletConfig } from '@aries-framework/core/build/types' -import type { IndyVdrPoolConfig } from '@aries-framework/indy-vdr' +import type { InitConfig } from '@credo-ts/core' +import type { WalletConfig } from '@credo-ts/core/build/types' +import type { IndyVdrPoolConfig } from '@credo-ts/indy-vdr' +import { PolygonDidRegistrar, PolygonDidResolver, PolygonModule } from '@ayanworks/credo-polygon-w3c-module' import { AnonCredsCredentialFormatService, AnonCredsModule, @@ -10,9 +11,8 @@ import { LegacyIndyProofFormatService, V1CredentialProtocol, V1ProofProtocol, -} from '@aries-framework/anoncreds' -import { AnonCredsRsModule } from '@aries-framework/anoncreds-rs' -import { AskarModule, AskarMultiWalletDatabaseScheme } from '@aries-framework/askar' +} from '@credo-ts/anoncreds' +import { AskarModule, AskarMultiWalletDatabaseScheme } from '@credo-ts/askar' import { AutoAcceptCredential, AutoAcceptProof, @@ -28,23 +28,22 @@ import { CacheModule, InMemoryLruCache, WebDidResolver, - PresentationExchangeProofFormatService, HttpOutboundTransport, WsOutboundTransport, LogLevel, Agent, JsonLdCredentialFormatService, -} from '@aries-framework/core' + DifPresentationExchangeProofFormatService, +} from '@credo-ts/core' import { IndyVdrAnonCredsRegistry, IndyVdrIndyDidResolver, IndyVdrModule, IndyVdrIndyDidRegistrar, -} from '@aries-framework/indy-vdr' -import { agentDependencies, HttpInboundTransport, WsInboundTransport } from '@aries-framework/node' -import { QuestionAnswerModule } from '@aries-framework/question-answer' -import { TenantsModule } from '@aries-framework/tenants' -import { PolygonDidRegistrar, PolygonDidResolver, PolygonModule } from '@ayanworks/credo-polygon-w3c-module' +} from '@credo-ts/indy-vdr' +import { agentDependencies, HttpInboundTransport, WsInboundTransport } from '@credo-ts/node' +import { QuestionAnswerModule } from '@credo-ts/question-answer' +import { TenantsModule } from '@credo-ts/tenants' import { anoncreds } from '@hyperledger/anoncreds-nodejs' import { ariesAskar } from '@hyperledger/aries-askar-nodejs' import { indyVdr } from '@hyperledger/indy-vdr-nodejs' @@ -53,9 +52,17 @@ import { randomBytes } from 'crypto' import { readFile } from 'fs/promises' import jwt from 'jsonwebtoken' +import { IndicioAcceptanceMechanism, IndicioTransactionAuthorAgreement, Network, NetworkName } from './enums/enum' import { setupServer } from './server' import { TsLogger } from './utils/logger' -import { BCOVRIN_TEST_GENESIS } from './utils/util' +import { + BCOVRIN_TEST_GENESIS, + DID_CONTRACT_ADDRESS, + FILE_SERVER_TOKEN, + RPC_URL, + SCHEMA_MANAGER_CONTRACT_ADDRESS, + SERVER_URL, +} from './utils/util' export type Transports = 'ws' | 'http' export type InboundTransport = { @@ -86,7 +93,6 @@ export interface AriesRestConfig { autoAcceptConnections?: boolean autoAcceptCredentials?: AutoAcceptCredential autoAcceptProofs?: AutoAcceptProof - useLegacyDidSovPrefix?: boolean logLevel?: LogLevel inboundTransports?: InboundTransport[] outboundTransports?: Transports[] @@ -95,11 +101,12 @@ export interface AriesRestConfig { tenancy?: boolean webhookUrl?: string adminPort: number - didRegistryContractAddress: string - schemaManagerContractAddress: string - rpcUrl: string - fileServerUrl: string - fileServerToken: string + didRegistryContractAddress?: string + schemaManagerContractAddress?: string + rpcUrl?: string + fileServerUrl?: string + fileServerToken?: string + walletScheme?: AskarMultiWalletDatabaseScheme } export async function readRestConfig(path: string) { @@ -113,17 +120,29 @@ export type RestMultiTenantAgentModules = Awaited> -const getModules = (networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], config: Partial) => { +const getModules = ( + networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], + didRegistryContractAddress: string, + fileServerToken: string, + fileServerUrl: string, + rpcUrl: string, + schemaManagerContractAddress: string, + autoAcceptConnections: boolean, + autoAcceptCredentials: AutoAcceptCredential, + autoAcceptProofs: AutoAcceptProof, + walletScheme: AskarMultiWalletDatabaseScheme +) => { const legacyIndyCredentialFormat = new LegacyIndyCredentialFormatService() const legacyIndyProofFormat = new LegacyIndyProofFormatService() const jsonLdCredentialFormatService = new JsonLdCredentialFormatService() const anonCredsCredentialFormatService = new AnonCredsCredentialFormatService() const anonCredsProofFormatService = new AnonCredsProofFormatService() - const presentationExchangeProofFormatService = new PresentationExchangeProofFormatService() + const presentationExchangeProofFormatService = new DifPresentationExchangeProofFormatService() return { askar: new AskarModule({ ariesAskar, - multiWalletDatabaseScheme: AskarMultiWalletDatabaseScheme.ProfilePerWallet, + multiWalletDatabaseScheme: + (walletScheme as AskarMultiWalletDatabaseScheme) || AskarMultiWalletDatabaseScheme.ProfilePerWallet, }), indyVdr: new IndyVdrModule({ @@ -138,18 +157,14 @@ const getModules = (networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], anoncreds: new AnonCredsModule({ registries: [new IndyVdrAnonCredsRegistry()], - }), - - // Use anoncreds-rs as anoncreds backend - anoncredsRs: new AnonCredsRsModule({ anoncreds, }), connections: new ConnectionsModule({ - autoAcceptConnections: true, + autoAcceptConnections: autoAcceptConnections || true, }), proofs: new ProofsModule({ - autoAcceptProofs: AutoAcceptProof.ContentApproved, + autoAcceptProofs: (autoAcceptProofs as AutoAcceptProof) || AutoAcceptProof.ContentApproved, proofProtocols: [ new V1ProofProtocol({ indyProofFormat: legacyIndyProofFormat, @@ -160,7 +175,7 @@ const getModules = (networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], ], }), credentials: new CredentialsModule({ - autoAcceptCredentials: AutoAcceptCredential.Always, + autoAcceptCredentials: (autoAcceptCredentials as AutoAcceptCredential) || AutoAcceptCredential.Always, credentialProtocols: [ new V1CredentialProtocol({ indyCredentialFormat: legacyIndyCredentialFormat, @@ -181,20 +196,42 @@ const getModules = (networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], questionAnswer: new QuestionAnswerModule(), polygon: new PolygonModule({ - didContractAddress: '0x12513116875BB3E4F098Ce74624739Ee51bAf023', - schemaManagerContractAddress: '0x552992e9f14b15bBd76488cD4c38c89B80259f37', - fileServerToken: config.fileServerToken, - rpcUrl: config.rpcUrl, - serverUrl: config.fileServerUrl, + didContractAddress: (didRegistryContractAddress as string) + ? (didRegistryContractAddress as string) + : (DID_CONTRACT_ADDRESS as string), + schemaManagerContractAddress: + (schemaManagerContractAddress as string) || (SCHEMA_MANAGER_CONTRACT_ADDRESS as string), + fileServerToken: (fileServerToken as string) ? (fileServerToken as string) : (FILE_SERVER_TOKEN as string), + rpcUrl: (rpcUrl as string) ? (rpcUrl as string) : (RPC_URL as string), + serverUrl: (fileServerUrl as string) ? (fileServerUrl as string) : (SERVER_URL as string), }), } } const getWithTenantModules = ( networkConfig: [IndyVdrPoolConfig, ...IndyVdrPoolConfig[]], - config: Partial + didRegistryContractAddress: string, + fileServerToken: string, + fileServerUrl: string, + rpcUrl: string, + schemaManagerContractAddress: string, + autoAcceptConnections: boolean, + autoAcceptCredentials: AutoAcceptCredential, + autoAcceptProofs: AutoAcceptProof, + walletScheme: AskarMultiWalletDatabaseScheme ) => { - const modules = getModules(networkConfig, config) + const modules = getModules( + networkConfig, + didRegistryContractAddress, + fileServerToken, + fileServerUrl, + rpcUrl, + schemaManagerContractAddress, + autoAcceptConnections, + autoAcceptCredentials, + autoAcceptProofs, + walletScheme + ) return { tenants: new TenantsModule({ sessionAcquireTimeout: Infinity, @@ -229,7 +266,16 @@ export async function runRestAgent(restConfig: AriesRestConfig) { outboundTransports = [], webhookUrl, adminPort, + didRegistryContractAddress, + fileServerToken, + fileServerUrl, + rpcUrl, + schemaManagerContractAddress, walletConfig, + autoAcceptConnections, + autoAcceptCredentials, + autoAcceptProofs, + walletScheme, ...afjConfig } = restConfig @@ -243,6 +289,10 @@ export async function runRestAgent(restConfig: AriesRestConfig) { }, ...afjConfig, logger, + autoUpdateStorageOnStartup: true, + // As backup is only supported for sqlite storage + // we need to manually take backup of the storage before updating the storage + backupBeforeStorageUpdate: false, } async function fetchLedgerData(ledgerConfig: { @@ -264,16 +314,19 @@ export async function runRestAgent(restConfig: AriesRestConfig) { connectOnStartup: true, } - if (ledgerConfig.indyNamespace.includes('indicio')) { - if (ledgerConfig.indyNamespace === 'indicio:testnet' || ledgerConfig.indyNamespace === 'indicio:mainnet') { + if (ledgerConfig.indyNamespace.includes(NetworkName.Indicio)) { + if ( + ledgerConfig.indyNamespace === (Network.Indicio_Testnet as string) || + ledgerConfig.indyNamespace === (Network.Indicio_Mainnet as string) + ) { networkConfig.transactionAuthorAgreement = { - version: '1.0', - acceptanceMechanism: 'wallet_agreement', + version: IndicioTransactionAuthorAgreement.Indicio_Testnet_Mainnet_Version, + acceptanceMechanism: IndicioAcceptanceMechanism.Wallet_Agreement, } } else { networkConfig.transactionAuthorAgreement = { - version: '1.3', - acceptanceMechanism: 'wallet_agreement', + version: IndicioTransactionAuthorAgreement.Indicio_Demonet_Version, + acceptanceMechanism: IndicioAcceptanceMechanism.Wallet_Agreement, } } } @@ -293,15 +346,37 @@ export async function runRestAgent(restConfig: AriesRestConfig) { networkConfig = [ { genesisTransactions: BCOVRIN_TEST_GENESIS, - indyNamespace: 'bcovrin:testnet', + indyNamespace: Network.Bcovrin_Testnet, isProduction: false, connectOnStartup: true, }, ] } - const tenantModule = await getWithTenantModules(networkConfig, afjConfig) - const modules = getModules(networkConfig, afjConfig) + const tenantModule = await getWithTenantModules( + networkConfig, + didRegistryContractAddress || '', + fileServerToken || '', + fileServerUrl || '', + rpcUrl || '', + schemaManagerContractAddress || '', + autoAcceptConnections || true, + autoAcceptCredentials || AutoAcceptCredential.Always, + autoAcceptProofs || AutoAcceptProof.ContentApproved, + walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet + ) + const modules = getModules( + networkConfig, + didRegistryContractAddress || '', + fileServerToken || '', + fileServerUrl || '', + rpcUrl || '', + schemaManagerContractAddress || '', + autoAcceptConnections || true, + autoAcceptCredentials || AutoAcceptCredential.Always, + autoAcceptProofs || AutoAcceptProof.ContentApproved, + walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet + ) const agent = new Agent({ config: agentConfig, modules: { @@ -358,6 +433,7 @@ export async function runRestAgent(restConfig: AriesRestConfig) { }) } else { const recordWithToken = genericRecord.find((record) => record?.content?.token !== undefined) + token = recordWithToken?.content.token as string } diff --git a/src/controllers/agent/AgentController.ts b/src/controllers/agent/AgentController.ts index e7ccc708..a7ec6fc6 100644 --- a/src/controllers/agent/AgentController.ts +++ b/src/controllers/agent/AgentController.ts @@ -1,6 +1,6 @@ import type { AgentInfo } from '../types' -import { Agent } from '@aries-framework/core' +import { Agent } from '@credo-ts/core' import { injectable } from 'tsyringe' import { Controller, Delete, Get, Route, Tags, Security } from 'tsoa' diff --git a/src/controllers/basic-messages/BasicMessageController.ts b/src/controllers/basic-messages/BasicMessageController.ts index 78c0d595..1dafd091 100644 --- a/src/controllers/basic-messages/BasicMessageController.ts +++ b/src/controllers/basic-messages/BasicMessageController.ts @@ -1,6 +1,6 @@ -import type { BasicMessageRecord, BasicMessageStorageProps } from '@aries-framework/core' +import type { BasicMessageRecord, BasicMessageStorageProps } from '@credo-ts/core' -import { Agent, RecordNotFoundError } from '@aries-framework/core' +import { Agent, RecordNotFoundError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { BasicMessageRecordExample, RecordId } from '../examples' diff --git a/src/controllers/connections/ConnectionController.ts b/src/controllers/connections/ConnectionController.ts index ba093db9..87fb6823 100644 --- a/src/controllers/connections/ConnectionController.ts +++ b/src/controllers/connections/ConnectionController.ts @@ -1,12 +1,6 @@ -import type { ConnectionRecordProps } from '@aries-framework/core' - -import { - ConnectionRepository, - DidExchangeState, - Agent, - AriesFrameworkError, - RecordNotFoundError, -} from '@aries-framework/core' +import type { ConnectionRecordProps } from '@credo-ts/core' + +import { ConnectionRepository, DidExchangeState, Agent, CredoError, RecordNotFoundError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { ConnectionRecordExample, RecordId } from '../examples' @@ -134,7 +128,7 @@ export class ConnectionController extends Controller { const connection = await this.agent.connections.acceptRequest(connectionId) return connection.toJSON() } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { return notFoundError(404, { reason: `connection with connection id "${connectionId}" not found.` }) } return internalServerError(500, { message: `something went wrong: ${error}` }) diff --git a/src/controllers/credentials/CredentialController.ts b/src/controllers/credentials/CredentialController.ts index 6d1a218d..505b49cd 100644 --- a/src/controllers/credentials/CredentialController.ts +++ b/src/controllers/credentials/CredentialController.ts @@ -1,7 +1,7 @@ import type { RestAgentModules } from '../../cliAgent' -import type { CredentialExchangeRecordProps, CredentialProtocolVersionType } from '@aries-framework/core' +import type { CredentialExchangeRecordProps, CredentialProtocolVersionType, Routing } from '@credo-ts/core' -import { LegacyIndyCredentialFormatService, V1CredentialProtocol } from '@aries-framework/anoncreds' +import { LegacyIndyCredentialFormatService, V1CredentialProtocol } from '@credo-ts/anoncreds' import { CredentialRepository, CredentialState, @@ -9,7 +9,9 @@ import { RecordNotFoundError, HandshakeProtocol, W3cCredentialService, -} from '@aries-framework/core' + Key, + KeyType, +} from '@credo-ts/core' import { injectable } from 'tsyringe' import { CredentialExchangeRecordExample, RecordId } from '../examples' @@ -204,10 +206,21 @@ export class CredentialController extends Controller { @Res() internalServerError: TsoaResponse<500, { message: string }> ) { try { + let routing: Routing const linkSecretIds = await this.agent.modules.anoncreds.getLinkSecretIds() if (linkSecretIds.length === 0) { await this.agent.modules.anoncreds.createLinkSecret() } + if (outOfBandOption?.recipientKey) { + routing = { + endpoints: this.agent.config.endpoints, + routingKeys: [], + recipientKey: Key.fromPublicKeyBase58(outOfBandOption.recipientKey, KeyType.Ed25519), + mediatorId: undefined, + } + } else { + routing = await this.agent.mediationRecipient.getRouting({}) + } const offerOob = await this.agent.credentials.createOffer({ protocolVersion: outOfBandOption.protocolVersion as CredentialProtocolVersionType<[]>, credentialFormats: outOfBandOption.credentialFormats, @@ -222,6 +235,7 @@ export class CredentialController extends Controller { messages: [credentialMessage], autoAcceptConnection: true, imageUrl: outOfBandOption?.imageUrl, + routing, }) return { invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ @@ -231,6 +245,7 @@ export class CredentialController extends Controller { useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), + recipientKey: outOfBandOption?.recipientKey ? {} : { recipientKey: routing.recipientKey.publicKeyBase58 }, } } catch (error) { return internalServerError(500, { message: `something went wrong: ${error}` }) diff --git a/src/controllers/credentials/CredentialDefinitionController.ts b/src/controllers/credentials/CredentialDefinitionController.ts index 582cb41b..0367ad81 100644 --- a/src/controllers/credentials/CredentialDefinitionController.ts +++ b/src/controllers/credentials/CredentialDefinitionController.ts @@ -4,8 +4,8 @@ import { AnonCredsError, getUnqualifiedCredentialDefinitionId, parseIndyCredentialDefinitionId, -} from '@aries-framework/anoncreds' -import { Agent, AriesFrameworkError } from '@aries-framework/core' +} from '@credo-ts/anoncreds' +import { Agent, CredoError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { CredentialEnum } from '../../enums/enum' @@ -41,11 +41,11 @@ export class CredentialDefinitionController extends Controller { try { return await this.agent.modules.anoncreds.getCredentialDefinition(credentialDefinitionId) } catch (error) { - if (error instanceof AriesFrameworkError && error.message === 'IndyError(LedgerNotFound): LedgerNotFound') { + if (error instanceof CredoError && error.message === 'IndyError(LedgerNotFound): LedgerNotFound') { return notFoundError(404, { reason: `credential definition with credentialDefinitionId "${credentialDefinitionId}" not found.`, }) - } else if (error instanceof AnonCredsError && error.cause instanceof AriesFrameworkError) { + } else if (error instanceof AnonCredsError && error.cause instanceof CredoError) { if ((error.cause.cause, 'CommonInvalidStructure')) { return badRequestError(400, { reason: `credentialDefinitionId "${credentialDefinitionId}" has invalid structure.`, diff --git a/src/controllers/credentials/SchemaController.ts b/src/controllers/credentials/SchemaController.ts index aea82383..cbff29e5 100644 --- a/src/controllers/credentials/SchemaController.ts +++ b/src/controllers/credentials/SchemaController.ts @@ -1,7 +1,7 @@ import type { Version } from '../examples' -import { AnonCredsError, getUnqualifiedSchemaId, parseIndySchemaId } from '@aries-framework/anoncreds' -import { Agent, AriesFrameworkError } from '@aries-framework/core' +import { AnonCredsError, getUnqualifiedSchemaId, parseIndySchemaId } from '@credo-ts/anoncreds' +import { Agent, CredoError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { CredentialEnum } from '../../enums/enum' @@ -130,7 +130,7 @@ export class SchemaController { return createSchemaTxResult } } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', diff --git a/src/controllers/did/DidController.ts b/src/controllers/did/DidController.ts index 140dd3c7..15623268 100644 --- a/src/controllers/did/DidController.ts +++ b/src/controllers/did/DidController.ts @@ -1,6 +1,6 @@ import type { DidResolutionResultProps } from '../types' -import type { KeyDidCreateOptions } from '@aries-framework/core' import type { PolygonDidCreateOptions } from '@ayanworks/credo-polygon-w3c-module/build/dids' +import type { KeyDidCreateOptions } from '@credo-ts/core' import { KeyType, @@ -9,7 +9,7 @@ import { getEd25519VerificationKey2018, Agent, getBls12381G2Key2020, -} from '@aries-framework/core' +} from '@credo-ts/core' import axios from 'axios' import { injectable } from 'tsyringe' diff --git a/src/controllers/endorser-transaction/EndorserTransactionController.ts b/src/controllers/endorser-transaction/EndorserTransactionController.ts index aa7a2ebb..ef3154a2 100644 --- a/src/controllers/endorser-transaction/EndorserTransactionController.ts +++ b/src/controllers/endorser-transaction/EndorserTransactionController.ts @@ -1,13 +1,13 @@ import type { Version } from '../examples' -import type { IndyVdrDidCreateOptions } from '@aries-framework/indy-vdr' +import type { IndyVdrDidCreateOptions } from '@credo-ts/indy-vdr' import { getUnqualifiedCredentialDefinitionId, getUnqualifiedSchemaId, parseIndyCredentialDefinitionId, parseIndySchemaId, -} from '@aries-framework/anoncreds' -import { Agent, AriesFrameworkError } from '@aries-framework/core' +} from '@credo-ts/anoncreds' +import { Agent, CredoError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { CredentialEnum } from '../../enums/enum' @@ -41,7 +41,7 @@ export class EndorserTransactionController extends Controller { return { signedTransaction } } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', @@ -98,7 +98,7 @@ export class EndorserTransactionController extends Controller { throw new Error('Please provide valid schema or credential-def!') } } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', diff --git a/src/controllers/examples.ts b/src/controllers/examples.ts index 0127de43..7f8cd345 100644 --- a/src/controllers/examples.ts +++ b/src/controllers/examples.ts @@ -1,4 +1,5 @@ import type { + ProofRole, AutoAcceptProof, BasicMessageRole, CredentialState, @@ -10,7 +11,8 @@ import type { ProofState, OutOfBandRole, OutOfBandState, -} from '@aries-framework/core' + CredentialRole, +} from '@credo-ts/core' /** * @example "821f9b26-ad04-4f56-89b6-e2ef9c72b36e" @@ -182,6 +184,7 @@ export const CredentialExchangeRecordExample = { threadId: '82701488-b43c-4d7b-9244-4bb204a7ae26', credentialAttributes: [], protocolVersion: 'v1', + role: 'issuer' as CredentialRole.Issuer, } export const ProofRecordExample = { @@ -198,6 +201,7 @@ export const ProofRecordExample = { threadId: '0019d466-5eea-4269-8c40-031b4896c5b7', autoAcceptProof: 'always' as AutoAcceptProof, protocolVersion: 'v1', + role: 'verifier' as ProofRole.Verifier, } export const SchemaExample = { diff --git a/src/controllers/multi-tenancy/MultiTenancyController.ts b/src/controllers/multi-tenancy/MultiTenancyController.ts index 6dbe12fa..9a3ccafc 100644 --- a/src/controllers/multi-tenancy/MultiTenancyController.ts +++ b/src/controllers/multi-tenancy/MultiTenancyController.ts @@ -1,6 +1,7 @@ import type { RestAgentModules, RestMultiTenantAgentModules } from '../../cliAgent' import type { Version } from '../examples' import type { RecipientKeyOption } from '../types' +import type { PolygonDidCreateOptions } from '@ayanworks/credo-polygon-w3c-module/build/dids' import type { AcceptProofRequestOptions, ConnectionRecordProps, @@ -11,12 +12,11 @@ import type { ProofExchangeRecordProps, ProofsProtocolVersionType, Routing, -} from '@aries-framework/core' -import type { IndyVdrDidCreateOptions, IndyVdrDidCreateResult } from '@aries-framework/indy-vdr' -import type { QuestionAnswerRecord, ValidResponse } from '@aries-framework/question-answer' -import type { TenantRecord } from '@aries-framework/tenants' -import type { TenantAgent } from '@aries-framework/tenants/build/TenantAgent' -import type { PolygonDidCreateOptions } from '@ayanworks/credo-polygon-w3c-module/build/dids' +} from '@credo-ts/core' +import type { IndyVdrDidCreateOptions, IndyVdrDidCreateResult } from '@credo-ts/indy-vdr' +import type { QuestionAnswerRecord, ValidResponse } from '@credo-ts/question-answer' +import type { TenantRecord } from '@credo-ts/tenants' +import type { TenantAgent } from '@credo-ts/tenants/build/TenantAgent' import { getUnqualifiedSchemaId, @@ -24,11 +24,11 @@ import { parseIndyCredentialDefinitionId, parseIndySchemaId, AnonCredsError, -} from '@aries-framework/anoncreds' +} from '@credo-ts/anoncreds' import { AcceptCredentialOfferOptions, Agent, - AriesFrameworkError, + CredoError, ConnectionRepository, CredentialRepository, CredentialState, @@ -44,8 +44,8 @@ import { getBls12381G2Key2020, getEd25519VerificationKey2018, injectable, -} from '@aries-framework/core' -import { QuestionAnswerRole, QuestionAnswerState } from '@aries-framework/question-answer' +} from '@credo-ts/core' +import { QuestionAnswerRole, QuestionAnswerState } from '@credo-ts/question-answer' import axios from 'axios' import { CredentialEnum, DidMethod, Network, Role } from '../../enums/enum' @@ -602,7 +602,7 @@ export class MultiTenancyController extends Controller { return { signedTransaction } } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', @@ -906,7 +906,7 @@ export class MultiTenancyController extends Controller { return schemaRecord } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', @@ -925,7 +925,7 @@ export class MultiTenancyController extends Controller { createSchemaRequest: { did: string schemaName: string - schema: object + schema: { [key: string]: any } }, @Path('tenantId') tenantId: string, @Res() internalServerError: TsoaResponse<500, { message: string }> @@ -970,7 +970,7 @@ export class MultiTenancyController extends Controller { return tenantAgent.modules.polygon.getSchemaById(did, schemaId) }) } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(401, { reason: 'this action is not allowed.', @@ -1009,7 +1009,7 @@ export class MultiTenancyController extends Controller { throw new Error('Please provide valid schema or credential-def!') } } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(400, { reason: 'this action is not allowed.', @@ -1082,6 +1082,8 @@ export class MultiTenancyController extends Controller { options: { endorserMode: 'external', endorsedTransaction: endorsedTransaction, + // TODO: Update this later + supportRevocation: false, }, }) @@ -1175,7 +1177,10 @@ export class MultiTenancyController extends Controller { schemaId: credentialDefinitionRequest.schemaId, tag: credentialDefinitionRequest.tag, }, - options: {}, + options: { + // TODO: update this later + supportRevocation: false, + }, }) if (!credentialDefinitionState?.credentialDefinitionId) { @@ -1198,9 +1203,12 @@ export class MultiTenancyController extends Controller { issuerId: credentialDefinitionRequest.issuerId, tag: credentialDefinitionRequest.tag, schemaId: credentialDefinitionRequest.schemaId, - type: 'CL', + // TODO: Need to check this + // type: 'CL', }, options: { + // TODO: update this later + supportRevocation: false, endorserMode: 'external', endorserDid: credentialDefinitionRequest.endorserDid ? credentialDefinitionRequest.endorserDid : '', }, @@ -1239,11 +1247,11 @@ export class MultiTenancyController extends Controller { return getCredDef } catch (error) { - if (error instanceof AriesFrameworkError && error.message === 'IndyError(LedgerNotFound): LedgerNotFound') { + if (error instanceof CredoError && error.message === 'IndyError(LedgerNotFound): LedgerNotFound') { return notFoundError(404, { reason: `credential definition with credentialDefinitionId "${credentialDefinitionId}" not found.`, }) - } else if (error instanceof AnonCredsError && error.cause instanceof AriesFrameworkError) { + } else if (error instanceof AnonCredsError && error.cause instanceof CredoError) { if ((error.cause.cause, 'CommonInvalidStructure')) { return badRequestError(400, { reason: `credentialDefinitionId "${credentialDefinitionId}" has invalid structure.`, @@ -1333,12 +1341,7 @@ export class MultiTenancyController extends Controller { useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), - credentialRecordThId: offerOob.credentialRecord.threadId, - credentialMessageId: offerOob.message.thread?.threadId - ? offerOob.message.thread?.threadId - : offerOob.message.threadId - ? offerOob.message.thread - : offerOob.message.id, + outOfBandRecordId: outOfBandRecord.id, recipientKey: createOfferOptions?.recipientKey ? {} : { recipientKey: routing.recipientKey.publicKeyBase58 }, } }) diff --git a/src/controllers/outofband/OutOfBandController.ts b/src/controllers/outofband/OutOfBandController.ts index 9dabc5c4..96704fde 100644 --- a/src/controllers/outofband/OutOfBandController.ts +++ b/src/controllers/outofband/OutOfBandController.ts @@ -1,6 +1,6 @@ import type { OutOfBandInvitationProps, OutOfBandRecordWithInvitationProps } from '../examples' import type { AgentMessageType, RecipientKeyOption } from '../types' -import type { ConnectionRecordProps, CreateLegacyInvitationConfig, Routing } from '@aries-framework/core' +import type { ConnectionRecordProps, CreateLegacyInvitationConfig, Routing } from '@credo-ts/core' import { AgentMessage, @@ -10,7 +10,7 @@ import { RecordNotFoundError, Key, KeyType, -} from '@aries-framework/core' +} from '@credo-ts/core' import { injectable } from 'tsyringe' import { ConnectionRecordExample, outOfBandInvitationExample, outOfBandRecordExample, RecordId } from '../examples' diff --git a/src/controllers/polygon/PolygonController.ts b/src/controllers/polygon/PolygonController.ts index c65074f1..f486751e 100644 --- a/src/controllers/polygon/PolygonController.ts +++ b/src/controllers/polygon/PolygonController.ts @@ -1,8 +1,8 @@ import type { RestAgentModules } from '../../cliAgent' -import { Agent, AriesFrameworkError } from '@aries-framework/core' import { generateSecp256k1KeyPair } from '@ayanworks/credo-polygon-w3c-module' import { DidOperation } from '@ayanworks/credo-polygon-w3c-module/build/ledger' +import { Agent, CredoError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { Route, Tags, Security, Controller, Post, TsoaResponse, Res, Body, Get, Path } from 'tsoa' @@ -49,7 +49,7 @@ export class Polygon extends Controller { createSchemaRequest: { did: string schemaName: string - schema: object + schema: { [key: string]: any } }, @Res() internalServerError: TsoaResponse<500, { message: string }>, @Res() badRequestError: TsoaResponse<400, { reason: string }> @@ -120,7 +120,7 @@ export class Polygon extends Controller { try { return this.agent.modules.polygon.getSchemaById(did, schemaId) } catch (error) { - if (error instanceof AriesFrameworkError) { + if (error instanceof CredoError) { if (error.message.includes('UnauthorizedClientRequest')) { return forbiddenError(401, { reason: 'this action is not allowed.', diff --git a/src/controllers/proofs/ProofController.ts b/src/controllers/proofs/ProofController.ts index 60297e32..78aed5ff 100644 --- a/src/controllers/proofs/ProofController.ts +++ b/src/controllers/proofs/ProofController.ts @@ -2,9 +2,10 @@ import type { AcceptProofRequestOptions, ProofExchangeRecordProps, ProofsProtocolVersionType, -} from '@aries-framework/core' + Routing, +} from '@credo-ts/core' -import { Agent, HandshakeProtocol, RecordNotFoundError } from '@aries-framework/core' +import { Agent, HandshakeProtocol, Key, KeyType, RecordNotFoundError } from '@credo-ts/core' import { injectable } from 'tsyringe' import { ProofRecordExample, RecordId } from '../examples' @@ -168,6 +169,17 @@ export class ProofController extends Controller { @Res() internalServerError: TsoaResponse<500, { message: string }> ) { try { + let routing: Routing + if (createRequestOptions?.recipientKey) { + routing = { + endpoints: this.agent.config.endpoints, + routingKeys: [], + recipientKey: Key.fromPublicKeyBase58(createRequestOptions.recipientKey, KeyType.Ed25519), + mediatorId: undefined, + } + } else { + routing = await this.agent.mediationRecipient.getRouting({}) + } const proof = await this.agent.proofs.createRequest({ protocolVersion: createRequestOptions.protocolVersion as ProofsProtocolVersionType<[]>, proofFormats: createRequestOptions.proofFormats, @@ -184,6 +196,7 @@ export class ProofController extends Controller { messages: [proofMessage], autoAcceptConnection: true, imageUrl: createRequestOptions?.imageUrl, + routing, }) return { @@ -194,6 +207,7 @@ export class ProofController extends Controller { useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), + recipientKey: createRequestOptions?.recipientKey ? {} : { recipientKey: routing.recipientKey.publicKeyBase58 }, } } catch (error) { return internalServerError(500, { message: `something went wrong: ${error}` }) diff --git a/src/controllers/question-answer/QuestionAnswerController.ts b/src/controllers/question-answer/QuestionAnswerController.ts index ac84d1e8..524dca9d 100644 --- a/src/controllers/question-answer/QuestionAnswerController.ts +++ b/src/controllers/question-answer/QuestionAnswerController.ts @@ -1,8 +1,8 @@ import type { RestAgentModules } from '../../cliAgent' -import type { ValidResponse } from '@aries-framework/question-answer' +import type { ValidResponse } from '@credo-ts/question-answer' -import { Agent, RecordNotFoundError } from '@aries-framework/core' -import { QuestionAnswerRole, QuestionAnswerState } from '@aries-framework/question-answer' +import { Agent, RecordNotFoundError } from '@credo-ts/core' +import { QuestionAnswerRole, QuestionAnswerState } from '@credo-ts/question-answer' import { injectable } from 'tsyringe' import { RecordId } from '../examples' diff --git a/src/controllers/types.ts b/src/controllers/types.ts index 1c45ea6c..9ad62ec9 100644 --- a/src/controllers/types.ts +++ b/src/controllers/types.ts @@ -1,5 +1,5 @@ import type { Version } from './examples' -import type { AnonCredsCredentialFormat, LegacyIndyCredentialFormat } from '@aries-framework/anoncreds' +import type { AnonCredsCredentialFormat, LegacyIndyCredentialFormat } from '@credo-ts/anoncreds' import type { AutoAcceptCredential, AutoAcceptProof, @@ -26,7 +26,7 @@ import type { Attachment, KeyType, JsonLdCredentialFormat, -} from '@aries-framework/core' +} from '@credo-ts/core' import type { DIDDocument } from 'did-resolver' export type TenantConfig = Pick & { diff --git a/src/enums/enum.ts b/src/enums/enum.ts index 3b355229..97665d0f 100644 --- a/src/enums/enum.ts +++ b/src/enums/enum.ts @@ -15,9 +15,24 @@ export enum DidMethod { Polygon = 'polygon', } +export enum NetworkName { + Bcovrin = 'bcovrin', + Indicio = 'indicio', +} + +export enum IndicioTransactionAuthorAgreement { + Indicio_Testnet_Mainnet_Version = '1.0', + Indicio_Demonet_Version = '1.3', +} + export enum Network { Bcovrin_Testnet = 'bcovrin:testnet', Indicio_Testnet = 'indicio:testnet', Indicio_Demonet = 'indicio:demonet', Indicio_Mainnet = 'indicio:mainnet', } + +export enum IndicioAcceptanceMechanism { + Wallet_Agreement = 'wallet_agreement', + Accept = 'accept', +} diff --git a/src/events/BasicMessageEvents.ts b/src/events/BasicMessageEvents.ts index 50324109..d062e56b 100644 --- a/src/events/BasicMessageEvents.ts +++ b/src/events/BasicMessageEvents.ts @@ -1,7 +1,7 @@ import type { ServerConfig } from '../utils/ServerConfig' -import type { Agent, BasicMessageStateChangedEvent } from '@aries-framework/core' +import type { Agent, BasicMessageStateChangedEvent } from '@credo-ts/core' -import { BasicMessageEventTypes } from '@aries-framework/core' +import { BasicMessageEventTypes } from '@credo-ts/core' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' diff --git a/src/events/ConnectionEvents.ts b/src/events/ConnectionEvents.ts index da242303..562caa2f 100644 --- a/src/events/ConnectionEvents.ts +++ b/src/events/ConnectionEvents.ts @@ -1,7 +1,7 @@ import type { ServerConfig } from '../utils/ServerConfig' -import type { Agent, ConnectionStateChangedEvent } from '@aries-framework/core' +import type { Agent, ConnectionStateChangedEvent } from '@credo-ts/core' -import { ConnectionEventTypes } from '@aries-framework/core' +import { ConnectionEventTypes } from '@credo-ts/core' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' diff --git a/src/events/CredentialEvents.ts b/src/events/CredentialEvents.ts index 0a5b60b3..10b1cb36 100644 --- a/src/events/CredentialEvents.ts +++ b/src/events/CredentialEvents.ts @@ -1,7 +1,7 @@ import type { ServerConfig } from '../utils/ServerConfig' -import type { Agent, CredentialStateChangedEvent } from '@aries-framework/core' +import type { Agent, CredentialStateChangedEvent } from '@credo-ts/core' -import { CredentialEventTypes } from '@aries-framework/core' +import { CredentialEventTypes } from '@credo-ts/core' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' diff --git a/src/events/ProofEvents.ts b/src/events/ProofEvents.ts index 1fbbf2a0..f7881fda 100644 --- a/src/events/ProofEvents.ts +++ b/src/events/ProofEvents.ts @@ -1,7 +1,7 @@ import type { ServerConfig } from '../utils/ServerConfig' -import type { Agent, ProofStateChangedEvent } from '@aries-framework/core' +import type { Agent, ProofStateChangedEvent } from '@credo-ts/core' -import { ProofEventTypes } from '@aries-framework/core' +import { ProofEventTypes } from '@credo-ts/core' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' diff --git a/src/events/QuestionAnswerEvents.ts b/src/events/QuestionAnswerEvents.ts index 52cf61a7..452d7598 100644 --- a/src/events/QuestionAnswerEvents.ts +++ b/src/events/QuestionAnswerEvents.ts @@ -1,8 +1,8 @@ import type { ServerConfig } from '../utils/ServerConfig' -import type { Agent } from '@aries-framework/core' -import type { QuestionAnswerStateChangedEvent } from '@aries-framework/question-answer' +import type { Agent } from '@credo-ts/core' +import type { QuestionAnswerStateChangedEvent } from '@credo-ts/question-answer' -import { QuestionAnswerEventTypes } from '@aries-framework/question-answer' +import { QuestionAnswerEventTypes } from '@credo-ts/question-answer' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' diff --git a/src/events/WebhookEvent.ts b/src/events/WebhookEvent.ts index 22404cd7..d7b215fe 100644 --- a/src/events/WebhookEvent.ts +++ b/src/events/WebhookEvent.ts @@ -1,4 +1,4 @@ -import type { Logger } from '@aries-framework/core' +import type { Logger } from '@credo-ts/core' import fetch from 'node-fetch' diff --git a/src/index.ts b/src/index.ts index ecff65b1..abb5b07f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ import 'reflect-metadata' import type { ServerConfig } from './utils/ServerConfig' -import type { Agent } from '@aries-framework/core' +import type { Agent } from '@credo-ts/core' import type { Socket } from 'net' import { Server } from 'ws' diff --git a/src/routes/routes.ts b/src/routes/routes.ts index 4d348d79..98a5f1db 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -3,29 +3,29 @@ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { Controller, ValidationService, FieldErrors, ValidateError, TsoaRoute, HttpStatusCodeLiteral, TsoaResponse, fetchMiddlewares } from '@tsoa/runtime'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { AgentController } from './../controllers/agent/AgentController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { BasicMessageController } from './../controllers/basic-messages/BasicMessageController'; +import { ProofController } from './../controllers/proofs/ProofController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ConnectionController } from './../controllers/connections/ConnectionController'; +import { Polygon } from './../controllers/polygon/PolygonController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { OutOfBandController } from './../controllers/outofband/OutOfBandController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { CredentialDefinitionController } from './../controllers/credentials/CredentialDefinitionController'; +import { MultiTenancyController } from './../controllers/multi-tenancy/MultiTenancyController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { SchemaController } from './../controllers/credentials/SchemaController'; +import { EndorserTransactionController } from './../controllers/endorser-transaction/EndorserTransactionController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { DidController } from './../controllers/did/DidController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { MultiTenancyController } from './../controllers/multi-tenancy/MultiTenancyController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ProofController } from './../controllers/proofs/ProofController'; +import { SchemaController } from './../controllers/credentials/SchemaController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { EndorserTransactionController } from './../controllers/endorser-transaction/EndorserTransactionController'; +import { CredentialDefinitionController } from './../controllers/credentials/CredentialDefinitionController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { CredentialController } from './../controllers/credentials/CredentialController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { Polygon } from './../controllers/polygon/PolygonController'; +import { ConnectionController } from './../controllers/connections/ConnectionController'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { BasicMessageController } from './../controllers/basic-messages/BasicMessageController'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { AgentController } from './../controllers/agent/AgentController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { QuestionAnswerController } from './../controllers/question-answer/QuestionAnswerController'; import { expressAuthentication } from './../authentication'; @@ -37,45 +37,92 @@ import type { RequestHandler, Router } from 'express'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const models: TsoaRoute.Models = { - "AgentInfo": { + "Record_string.unknown_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "RecordId": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ProofFormat": { "dataType": "refObject", "properties": { - "label": {"dataType":"string","required":true}, - "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "isInitialized": {"dataType":"boolean","required":true}, - "publicDid": {"dataType":"void","required":true}, + "formatKey": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"selectCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"getCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"acceptRequest":{"dataType":"any","required":true},"createRequest":{"dataType":"any","required":true},"acceptProposal":{"dataType":"any","required":true},"createProposal":{"dataType":"any","required":true}},"required":true}, + "formatData": {"dataType":"nestedObjectLiteral","nestedProperties":{"presentation":{"dataType":"any","required":true},"request":{"dataType":"any","required":true},"proposal":{"dataType":"any","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.unknown_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + "AutoAcceptProof": { + "dataType": "refEnum", + "enums": ["always","contentApproved","never"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "BasicMessageRecord": { - "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, + "RequestProofProposalOptions": { + "dataType": "refObject", + "properties": { + "connectionId": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["createProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "comment": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RecordId": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "AcceptProofProposal": { + "dataType": "refObject", + "properties": { + "proofRecordId": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["acceptProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, + "comment": {"dataType":"string"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "goalCode": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_content.string_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string","required":true}},"validators":{}}, + "RequestProofOptions": { + "dataType": "refObject", + "properties": { + "connectionId": {"dataType":"string","required":true}, + "protocolVersion": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "comment": {"dataType":"string","required":true}, + "autoAcceptProof": {"ref":"AutoAcceptProof","required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidExchangeState": { - "dataType": "refEnum", - "enums": ["start","invitation-sent","invitation-received","request-sent","request-received","response-sent","response-received","abandoned","completed"], + "CreateProofRequestOobOptions": { + "dataType": "refObject", + "properties": { + "protocolVersion": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "comment": {"dataType":"string"}, + "label": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "recipientKey": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "HandshakeProtocol": { "dataType": "refEnum", - "enums": ["https://didcomm.org/connections/1.0","https://didcomm.org/didexchange/1.0"], + "enums": ["https://didcomm.org/didexchange/1.x","https://didcomm.org/connections/1.x"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "PlaintextMessage": { @@ -262,7 +309,7 @@ const models: TsoaRoute.Models = { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string"},"alias":{"dataType":"string"},"imageUrl":{"dataType":"string"},"autoAcceptConnection":{"dataType":"boolean"},"autoAcceptInvitation":{"dataType":"boolean"},"reuseConnection":{"dataType":"boolean"},"acceptInvitationTimeoutMs":{"dataType":"double"}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string"},"alias":{"dataType":"string"},"imageUrl":{"dataType":"string"},"autoAcceptConnection":{"dataType":"boolean"},"autoAcceptInvitation":{"dataType":"boolean"},"reuseConnection":{"dataType":"boolean"},"acceptInvitationTimeoutMs":{"dataType":"double"},"ourDid":{"dataType":"string"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "Omit_ReceiveOutOfBandInvitationConfig.routing_": { @@ -280,6 +327,7 @@ const models: TsoaRoute.Models = { "autoAcceptInvitation": {"dataType":"boolean"}, "reuseConnection": {"dataType":"boolean"}, "acceptInvitationTimeoutMs": {"dataType":"double"}, + "ourDid": {"dataType":"string"}, "invitation": {"ref":"OutOfBandInvitationSchema","required":true}, }, "additionalProperties": false, @@ -295,6 +343,7 @@ const models: TsoaRoute.Models = { "autoAcceptInvitation": {"dataType":"boolean"}, "reuseConnection": {"dataType":"boolean"}, "acceptInvitationTimeoutMs": {"dataType":"double"}, + "ourDid": {"dataType":"string"}, "invitationUrl": {"dataType":"string","required":true}, }, "additionalProperties": false, @@ -313,54 +362,32 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialDefinitionId": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SchemaId": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Version": { + "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string","required":true},"connectionImageUrl":{"dataType":"string"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.any_": { + "Omit_TenantConfig.walletConfig_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidResolutionMetadata": { - "dataType": "refObject", - "properties": { - "contentType": {"dataType":"string"}, - "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalidDid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["representationNotSupported"]},{"dataType":"enum","enums":["unsupportedDidMethod"]},{"dataType":"string"}]}, - "message": {"dataType":"string"}, - }, - "additionalProperties": false, + "type": {"ref":"Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DIDDocumentMetadata": { + "CreateTenantOptions": { "dataType": "refObject", "properties": { - "created": {"dataType":"string"}, - "updated": {"dataType":"string"}, - "deactivated": {"dataType":"boolean"}, - "versionId": {"dataType":"string"}, - "nextUpdate": {"dataType":"string"}, - "nextVersionId": {"dataType":"string"}, - "equivalentId": {"dataType":"string"}, - "canonicalId": {"dataType":"string"}, + "config": {"ref":"Omit_TenantConfig.walletConfig_","required":true}, + "seed": {"dataType":"string"}, + "method": {"dataType":"string"}, + "role": {"dataType":"string"}, + "endorserDid": {"dataType":"string"}, + "did": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Did": { + "Record_string.any_": { "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "DidDocument": { @@ -386,29 +413,6 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string","required":true},"connectionImageUrl":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_TenantConfig.walletConfig_": { - "dataType": "refAlias", - "type": {"ref":"Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateTenantOptions": { - "dataType": "refObject", - "properties": { - "config": {"ref":"Omit_TenantConfig.walletConfig_","required":true}, - "seed": {"dataType":"string"}, - "method": {"dataType":"string"}, - "role": {"dataType":"string"}, - "endorserDid": {"dataType":"string"}, - "did": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "DidNymTransaction": { "dataType": "refObject", "properties": { @@ -437,6 +441,16 @@ const models: TsoaRoute.Models = { "type": {"ref":"Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidExchangeState": { + "dataType": "refEnum", + "enums": ["start","invitation-sent","invitation-received","request-sent","request-received","response-sent","response-received","abandoned","completed"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Version": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "WriteTransaction": { "dataType": "refObject", "properties": { @@ -448,6 +462,16 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SchemaId": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CredentialDefinitionId": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "AutoAcceptCredential": { "dataType": "refEnum", "enums": ["always","contentApproved","never"], @@ -488,6 +512,8 @@ const models: TsoaRoute.Models = { "dataType": "refObject", "properties": { "credentialDefinitionId": {"dataType":"string","required":true}, + "revocationRegistryDefinitionId": {"dataType":"string"}, + "revocationRegistryIndex": {"dataType":"double"}, "attributes": {"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"},"required":true}, "linkedAttachments": {"dataType":"array","array":{"dataType":"refObject","ref":"LinkedAttachment"}}, }, @@ -573,43 +599,6 @@ const models: TsoaRoute.Models = { "enums": ["proposal-sent","proposal-received","offer-sent","offer-received","declined","request-sent","request-received","credential-issued","credential-received","done","abandoned"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AutoAcceptProof": { - "dataType": "refEnum", - "enums": ["always","contentApproved","never"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestProofOptions": { - "dataType": "refObject", - "properties": { - "connectionId": {"dataType":"string","required":true}, - "protocolVersion": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"any","required":true}, - "comment": {"dataType":"string","required":true}, - "autoAcceptProof": {"ref":"AutoAcceptProof","required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateProofRequestOobOptions": { - "dataType": "refObject", - "properties": { - "protocolVersion": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"any","required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "comment": {"dataType":"string"}, - "label": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "recipientKey": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "QuestionAnswerRole": { "dataType": "refEnum", "enums": ["questioner","responder"], @@ -633,42 +622,37 @@ const models: TsoaRoute.Models = { "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"response":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProofFormat": { + "DidResolutionMetadata": { "dataType": "refObject", "properties": { - "formatKey": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"selectCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"getCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"acceptRequest":{"dataType":"any","required":true},"createRequest":{"dataType":"any","required":true},"acceptProposal":{"dataType":"any","required":true},"createProposal":{"dataType":"any","required":true}},"required":true}, - "formatData": {"dataType":"nestedObjectLiteral","nestedProperties":{"presentation":{"dataType":"any","required":true},"request":{"dataType":"any","required":true},"proposal":{"dataType":"any","required":true}},"required":true}, + "contentType": {"dataType":"string"}, + "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalidDid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["representationNotSupported"]},{"dataType":"enum","enums":["unsupportedDidMethod"]},{"dataType":"string"}]}, + "message": {"dataType":"string"}, + "servedFromCache": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestProofProposalOptions": { + "DIDDocumentMetadata": { "dataType": "refObject", "properties": { - "connectionId": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["createProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "comment": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AcceptProofProposal": { - "dataType": "refObject", - "properties": { - "proofRecordId": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["acceptProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, - "comment": {"dataType":"string"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "goalCode": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, + "created": {"dataType":"string"}, + "updated": {"dataType":"string"}, + "deactivated": {"dataType":"boolean"}, + "versionId": {"dataType":"string"}, + "nextUpdate": {"dataType":"string"}, + "nextVersionId": {"dataType":"string"}, + "equivalentId": {"dataType":"string"}, + "canonicalId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Did": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "W3cCredentialRecord": { "dataType": "refAlias", "type": {"ref":"Record_string.unknown_","validators":{}}, @@ -752,6 +736,27 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "BasicMessageRecord": { + "dataType": "refAlias", + "type": {"ref":"Record_string.unknown_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Record_content.string_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AgentInfo": { + "dataType": "refObject", + "properties": { + "label": {"dataType":"string","required":true}, + "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "isInitialized": {"dataType":"boolean","required":true}, + "publicDid": {"dataType":"void","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa }; const validationService = new ValidationService(models); @@ -762,73 +767,14 @@ export function RegisterRoutes(app: Router) { // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa // ########################################################################################################### - app.get('/agent', - ...(fetchMiddlewares(AgentController)), - ...(fetchMiddlewares(AgentController.prototype.getAgentInfo)), - - async function AgentController_getAgentInfo(request: any, response: any, next: any) { - const args = { - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(AgentController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.getAgentInfo.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.delete('/agent/wallet', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(AgentController)), - ...(fetchMiddlewares(AgentController.prototype.deleteWallet)), - - async function AgentController_deleteWallet(request: any, response: any, next: any) { - const args = { - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(AgentController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.deleteWallet.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/basic-messages/:connectionId', + app.get('/proofs', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(BasicMessageController)), - ...(fetchMiddlewares(BasicMessageController.prototype.getBasicMessages)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.getAllProofs)), - async function BasicMessageController_getBasicMessages(request: any, response: any, next: any) { + async function ProofController_getAllProofs(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -839,28 +785,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(BasicMessageController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getBasicMessages.apply(controller, validatedArgs as any); + const promise = controller.getAllProofs.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/basic-messages/:connectionId', + app.get('/proofs/:proofRecordId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(BasicMessageController)), - ...(fetchMiddlewares(BasicMessageController.prototype.sendMessage)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.getProofById)), - async function BasicMessageController_sendMessage(request: any, response: any, next: any) { + async function ProofController_getProofById(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -873,64 +818,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(BasicMessageController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.sendMessage.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/connections', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.getAllConnections)), - - async function ConnectionController_getAllConnections(request: any, response: any, next: any) { - const args = { - outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, - alias: {"in":"query","name":"alias","dataType":"string"}, - state: {"in":"query","name":"state","ref":"DidExchangeState"}, - myDid: {"in":"query","name":"myDid","dataType":"string"}, - theirDid: {"in":"query","name":"theirDid","dataType":"string"}, - theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getAllConnections.apply(controller, validatedArgs as any); + const promise = controller.getProofById.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/connections/:connectionId', + app.post('/proofs/propose-proof', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.getConnectionById)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.proposeProof)), - async function ConnectionController_getConnectionById(request: any, response: any, next: any) { + async function ProofController_proposeProof(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -941,27 +851,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getConnectionById.apply(controller, validatedArgs as any); + const promise = controller.proposeProof.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.delete('/connections/:connectionId', + app.post('/proofs/:proofRecordId/accept-proposal', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.deleteConnection)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptProposal)), - async function ConnectionController_deleteConnection(request: any, response: any, next: any) { + async function ProofController_acceptProposal(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -974,27 +884,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.deleteConnection.apply(controller, validatedArgs as any); + const promise = controller.acceptProposal.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/connections/:connectionId/accept-request', + app.post('/proofs/request-proof', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.acceptRequest)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.requestProof)), - async function ConnectionController_acceptRequest(request: any, response: any, next: any) { + async function ProofController_requestProof(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1007,28 +917,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.acceptRequest.apply(controller, validatedArgs as any); + const promise = controller.requestProof.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/connections/:connectionId/accept-response', + app.post('/proofs/create-request-oob', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.acceptResponse)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.createRequest)), - async function ConnectionController_acceptResponse(request: any, response: any, next: any) { + async function ProofController_createRequest(request: any, response: any, next: any) { const args = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1040,26 +949,28 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.acceptResponse.apply(controller, validatedArgs as any); + const promise = controller.createRequest.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/url/:invitationId', - ...(fetchMiddlewares(ConnectionController)), - ...(fetchMiddlewares(ConnectionController.prototype.getInvitation)), + app.post('/proofs/:proofRecordId/accept-request', + authenticateMiddleware([{"apiKey":[]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptRequest)), - async function ConnectionController_getInvitation(request: any, response: any, next: any) { + async function ProofController_acceptRequest(request: any, response: any, next: any) { const args = { - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1072,27 +983,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ConnectionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getInvitation.apply(controller, validatedArgs as any); + const promise = controller.acceptRequest.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/oob', + app.post('/proofs/:proofRecordId/accept-presentation', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.getAllOutOfBandRecords)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptPresentation)), - async function OutOfBandController_getAllOutOfBandRecords(request: any, response: any, next: any) { + async function ProofController_acceptPresentation(request: any, response: any, next: any) { const args = { - invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1103,28 +1016,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getAllOutOfBandRecords.apply(controller, validatedArgs as any); + const promise = controller.acceptPresentation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/oob/:outOfBandId', + app.get('/proofs/:proofRecordId/form-data', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.getOutOfBandRecordById)), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.proofFormData)), - async function OutOfBandController_getOutOfBandRecordById(request: any, response: any, next: any) { + async function ProofController_proofFormData(request: any, response: any, next: any) { const args = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1135,28 +1049,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getOutOfBandRecordById.apply(controller, validatedArgs as any); + const promise = controller.proofFormData.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/create-invitation', + app.post('/polygon/create-keys', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createInvitation)), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.createKeyPair)), - async function OutOfBandController_createInvitation(request: any, response: any, next: any) { + async function Polygon_createKeyPair(request: any, response: any, next: any) { const args = { internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - config: {"in":"body","name":"config","required":true,"ref":"CreateInvitationOptions"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1167,28 +1080,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createInvitation.apply(controller, validatedArgs as any); + const promise = controller.createKeyPair.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/create-legacy-invitation', + app.post('/polygon/create-schema', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyInvitation)), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.createSchema)), - async function OutOfBandController_createLegacyInvitation(request: any, response: any, next: any) { + async function Polygon_createSchema(request: any, response: any, next: any) { const args = { + createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, + badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1199,29 +1113,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createLegacyInvitation.apply(controller, validatedArgs as any); + const promise = controller.createSchema.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/create-legacy-connectionless-invitation', + app.post('/polygon/estimate-transaction', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyConnectionlessInvitation)), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.estimateTransaction)), - async function OutOfBandController_createLegacyConnectionlessInvitation(request: any, response: any, next: any) { + async function Polygon_estimateTransaction(request: any, response: any, next: any) { const args = { - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"transaction":{"dataType":"any","required":true},"operation":{"dataType":"any","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1232,28 +1146,30 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createLegacyConnectionlessInvitation.apply(controller, validatedArgs as any); + const promise = controller.estimateTransaction.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/receive-invitation', + app.get('/polygon/:did/:schemaId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitation)), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.getSchemaById)), - async function OutOfBandController_receiveInvitation(request: any, response: any, next: any) { + async function Polygon_getSchemaById(request: any, response: any, next: any) { const args = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, + did: {"in":"path","name":"did","required":true,"dataType":"string"}, + schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + forbiddenError: {"in":"res","name":"401","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1264,28 +1180,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(OutOfBandController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.receiveInvitation.apply(controller, validatedArgs as any); + const promise = controller.getSchemaById.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/receive-invitation-url', + app.get('/oob', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitationFromUrl)), + ...(fetchMiddlewares(OutOfBandController.prototype.getAllOutOfBandRecords)), - async function OutOfBandController_receiveInvitationFromUrl(request: any, response: any, next: any) { + async function OutOfBandController_getAllOutOfBandRecords(request: any, response: any, next: any) { const args = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1302,24 +1217,22 @@ export function RegisterRoutes(app: Router) { } - const promise = controller.receiveInvitationFromUrl.apply(controller, validatedArgs as any); + const promise = controller.getAllOutOfBandRecords.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/oob/:outOfBandId/accept-invitation', + app.get('/oob/:outOfBandId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.acceptInvitation)), + ...(fetchMiddlewares(OutOfBandController.prototype.getOutOfBandRecordById)), - async function OutOfBandController_acceptInvitation(request: any, response: any, next: any) { + async function OutOfBandController_getOutOfBandRecordById(request: any, response: any, next: any) { const args = { outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1336,23 +1249,22 @@ export function RegisterRoutes(app: Router) { } - const promise = controller.acceptInvitation.apply(controller, validatedArgs as any); + const promise = controller.getOutOfBandRecordById.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.delete('/oob/:outOfBandId', + app.post('/oob/create-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.deleteOutOfBandRecord)), + ...(fetchMiddlewares(OutOfBandController.prototype.createInvitation)), - async function OutOfBandController_deleteOutOfBandRecord(request: any, response: any, next: any) { + async function OutOfBandController_createInvitation(request: any, response: any, next: any) { const args = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + config: {"in":"body","name":"config","required":true,"ref":"CreateInvitationOptions"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1369,57 +1281,22 @@ export function RegisterRoutes(app: Router) { } - const promise = controller.deleteOutOfBandRecord.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/credential-definitions/:credentialDefinitionId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(CredentialDefinitionController)), - ...(fetchMiddlewares(CredentialDefinitionController.prototype.getCredentialDefinitionById)), - - async function CredentialDefinitionController_getCredentialDefinitionById(request: any, response: any, next: any) { - const args = { - credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, - badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(CredentialDefinitionController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.getCredentialDefinitionById.apply(controller, validatedArgs as any); + const promise = controller.createInvitation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/credential-definitions', + app.post('/oob/create-legacy-invitation', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(CredentialDefinitionController)), - ...(fetchMiddlewares(CredentialDefinitionController.prototype.createCredentialDefinition)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyInvitation)), - async function CredentialDefinitionController_createCredentialDefinition(request: any, response: any, next: any) { + async function OutOfBandController_createLegacyInvitation(request: any, response: any, next: any) { const args = { - credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1430,30 +1307,28 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(CredentialDefinitionController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createCredentialDefinition.apply(controller, validatedArgs as any); + const promise = controller.createLegacyInvitation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/schemas/:schemaId', + app.post('/oob/create-legacy-connectionless-invitation', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(SchemaController)), - ...(fetchMiddlewares(SchemaController.prototype.getSchemaById)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyConnectionlessInvitation)), - async function SchemaController_getSchemaById(request: any, response: any, next: any) { + async function OutOfBandController_createLegacyConnectionlessInvitation(request: any, response: any, next: any) { const args = { - schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - forbiddenError: {"in":"res","name":"403","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1465,28 +1340,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(SchemaController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getSchemaById.apply(controller, validatedArgs as any); + const promise = controller.createLegacyConnectionlessInvitation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/schemas', + app.post('/oob/receive-invitation', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(SchemaController)), - ...(fetchMiddlewares(SchemaController.prototype.createSchema)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitation)), - async function SchemaController_createSchema(request: any, response: any, next: any) { + async function OutOfBandController_receiveInvitation(request: any, response: any, next: any) { const args = { - schema: {"in":"body","name":"schema","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"attributes":{"dataType":"array","array":{"dataType":"string"},"required":true},"version":{"ref":"Version","required":true},"name":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, - forbiddenError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1498,27 +1372,28 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(SchemaController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createSchema.apply(controller, validatedArgs as any); + const promise = controller.receiveInvitation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/dids/:did', + app.post('/oob/receive-invitation-url', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.getDidRecordByDid)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitationFromUrl)), - async function DidController_getDidRecordByDid(request: any, response: any, next: any) { + async function OutOfBandController_receiveInvitationFromUrl(request: any, response: any, next: any) { const args = { - did: {"in":"path","name":"did","required":true,"ref":"Did"}, + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1529,27 +1404,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getDidRecordByDid.apply(controller, validatedArgs as any); + const promise = controller.receiveInvitationFromUrl.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/dids/write', + app.post('/oob/:outOfBandId/accept-invitation', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.writeDid)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.acceptInvitation)), - async function DidController_writeDid(request: any, response: any, next: any) { + async function OutOfBandController_acceptInvitation(request: any, response: any, next: any) { const args = { - createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1561,26 +1438,28 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.writeDid.apply(controller, validatedArgs as any); + const promise = controller.acceptInvitation.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/dids', + app.delete('/oob/:outOfBandId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.getDids)), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.deleteOutOfBandRecord)), - async function DidController_getDids(request: any, response: any, next: any) { + async function OutOfBandController_deleteOutOfBandRecord(request: any, response: any, next: any) { const args = { + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -1592,13 +1471,13 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getDids.apply(controller, validatedArgs as any); + const promise = controller.deleteOutOfBandRecord.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); @@ -2080,7 +1959,7 @@ export function RegisterRoutes(app: Router) { async function MultiTenancyController_createPolygonW3CSchema(request: any, response: any, next: any) { const args = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"object","required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, + createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -2922,80 +2801,16 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/proofs', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.getAllProofs)), - - async function ProofController_getAllProofs(request: any, response: any, next: any) { - const args = { - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.getAllProofs.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/proofs/:proofRecordId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.getProofById)), - - async function ProofController_getProofById(request: any, response: any, next: any) { - const args = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - }; - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = getValidatedArgs(args, request, response); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - - const promise = controller.getProofById.apply(controller, validatedArgs as any); - promiseHandler(controller, promise, response, undefined, next); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/propose-proof', + app.post('/transactions/endorse', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.proposeProof)), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.endorserTransaction)), - async function ProofController_proposeProof(request: any, response: any, next: any) { + async function EndorserTransactionController_endorserTransaction(request: any, response: any, next: any) { const args = { - requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + forbiddenError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3006,28 +2821,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.proposeProof.apply(controller, validatedArgs as any); + const promise = controller.endorserTransaction.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/:proofRecordId/accept-proposal', + app.post('/transactions/set-endorser-role', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptProposal)), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.didNymTransaction)), - async function ProofController_acceptProposal(request: any, response: any, next: any) { + async function EndorserTransactionController_didNymTransaction(request: any, response: any, next: any) { const args = { - acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3039,29 +2853,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.acceptProposal.apply(controller, validatedArgs as any); + const promise = controller.didNymTransaction.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/request-proof', + app.post('/transactions/write', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.requestProof)), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.writeSchemaAndCredDefOnLedger)), - async function ProofController_requestProof(request: any, response: any, next: any) { + async function EndorserTransactionController_writeSchemaAndCredDefOnLedger(request: any, response: any, next: any) { const args = { - requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + forbiddenError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3072,28 +2886,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.requestProof.apply(controller, validatedArgs as any); + const promise = controller.writeSchemaAndCredDefOnLedger.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/create-request-oob', + app.get('/dids/:did', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.createRequest)), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.getDidRecordByDid)), - async function ProofController_createRequest(request: any, response: any, next: any) { + async function DidController_getDidRecordByDid(request: any, response: any, next: any) { const args = { - createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + did: {"in":"path","name":"did","required":true,"ref":"Did"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3104,29 +2917,27 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createRequest.apply(controller, validatedArgs as any); + const promise = controller.getDidRecordByDid.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/:proofRecordId/accept-request', + app.post('/dids/write', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptRequest)), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.writeDid)), - async function ProofController_acceptRequest(request: any, response: any, next: any) { + async function DidController_writeDid(request: any, response: any, next: any) { const args = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3138,28 +2949,26 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.acceptRequest.apply(controller, validatedArgs as any); + const promise = controller.writeDid.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/proofs/:proofRecordId/accept-presentation', + app.get('/dids', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptPresentation)), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.getDids)), - async function ProofController_acceptPresentation(request: any, response: any, next: any) { + async function DidController_getDids(request: any, response: any, next: any) { const args = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3171,28 +2980,30 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.acceptPresentation.apply(controller, validatedArgs as any); + const promise = controller.getDids.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/proofs/:proofRecordId/form-data', + app.get('/schemas/:schemaId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.proofFormData)), + ...(fetchMiddlewares(SchemaController)), + ...(fetchMiddlewares(SchemaController.prototype.getSchemaById)), - async function ProofController_proofFormData(request: any, response: any, next: any) { + async function SchemaController_getSchemaById(request: any, response: any, next: any) { const args = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + forbiddenError: {"in":"res","name":"403","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3204,29 +3015,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(ProofController); + const controller: any = await container.get(SchemaController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.proofFormData.apply(controller, validatedArgs as any); + const promise = controller.getSchemaById.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/transactions/endorse', + app.post('/schemas', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.endorserTransaction)), + ...(fetchMiddlewares(SchemaController)), + ...(fetchMiddlewares(SchemaController.prototype.createSchema)), - async function EndorserTransactionController_endorserTransaction(request: any, response: any, next: any) { + async function SchemaController_createSchema(request: any, response: any, next: any) { const args = { - endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, - internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + schema: {"in":"body","name":"schema","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"attributes":{"dataType":"array","array":{"dataType":"string"},"required":true},"version":{"ref":"Version","required":true},"name":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, forbiddenError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3237,27 +3048,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(SchemaController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.endorserTransaction.apply(controller, validatedArgs as any); + const promise = controller.createSchema.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/transactions/set-endorser-role', + app.get('/credential-definitions/:credentialDefinitionId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.didNymTransaction)), + ...(fetchMiddlewares(CredentialDefinitionController)), + ...(fetchMiddlewares(CredentialDefinitionController.prototype.getCredentialDefinitionById)), - async function EndorserTransactionController_didNymTransaction(request: any, response: any, next: any) { + async function CredentialDefinitionController_getCredentialDefinitionById(request: any, response: any, next: any) { const args = { - didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, + credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, + badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3269,29 +3082,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(CredentialDefinitionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.didNymTransaction.apply(controller, validatedArgs as any); + const promise = controller.getCredentialDefinitionById.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/transactions/write', + app.post('/credential-definitions', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.writeSchemaAndCredDefOnLedger)), + ...(fetchMiddlewares(CredentialDefinitionController)), + ...(fetchMiddlewares(CredentialDefinitionController.prototype.createCredentialDefinition)), - async function EndorserTransactionController_writeSchemaAndCredDefOnLedger(request: any, response: any, next: any) { + async function CredentialDefinitionController_createCredentialDefinition(request: any, response: any, next: any) { const args = { - forbiddenError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3302,13 +3115,13 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(CredentialDefinitionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.writeSchemaAndCredDefOnLedger.apply(controller, validatedArgs as any); + const promise = controller.createCredentialDefinition.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); @@ -3671,13 +3484,83 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/polygon/create-keys', + app.get('/connections', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.createKeyPair)), + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.getAllConnections)), - async function Polygon_createKeyPair(request: any, response: any, next: any) { + async function ConnectionController_getAllConnections(request: any, response: any, next: any) { + const args = { + outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, + alias: {"in":"query","name":"alias","dataType":"string"}, + state: {"in":"query","name":"state","ref":"DidExchangeState"}, + myDid: {"in":"query","name":"myDid","dataType":"string"}, + theirDid: {"in":"query","name":"theirDid","dataType":"string"}, + theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(ConnectionController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.getAllConnections.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.get('/connections/:connectionId', + authenticateMiddleware([{"apiKey":[]}]), + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.getConnectionById)), + + async function ConnectionController_getConnectionById(request: any, response: any, next: any) { + const args = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(ConnectionController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.getConnectionById.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.delete('/connections/:connectionId', + authenticateMiddleware([{"apiKey":[]}]), + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.deleteConnection)), + + async function ConnectionController_deleteConnection(request: any, response: any, next: any) { const args = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; @@ -3689,29 +3572,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(Polygon); + const controller: any = await container.get(ConnectionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createKeyPair.apply(controller, validatedArgs as any); + const promise = controller.deleteConnection.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/polygon/create-schema', + app.post('/connections/:connectionId/accept-request', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.createSchema)), + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.acceptRequest)), - async function Polygon_createSchema(request: any, response: any, next: any) { + async function ConnectionController_acceptRequest(request: any, response: any, next: any) { const args = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"object","required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3722,29 +3605,29 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(Polygon); + const controller: any = await container.get(ConnectionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.createSchema.apply(controller, validatedArgs as any); + const promise = controller.acceptRequest.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.post('/polygon/estimate-transaction', + app.post('/connections/:connectionId/accept-response', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.estimateTransaction)), + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.acceptResponse)), - async function Polygon_estimateTransaction(request: any, response: any, next: any) { + async function ConnectionController_acceptResponse(request: any, response: any, next: any) { const args = { - estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"transaction":{"dataType":"any","required":true},"operation":{"dataType":"any","required":true}}}, + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - badRequestError: {"in":"res","name":"400","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3755,30 +3638,93 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(Polygon); + const controller: any = await container.get(ConnectionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.estimateTransaction.apply(controller, validatedArgs as any); + const promise = controller.acceptResponse.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - app.get('/polygon/:did/:schemaId', + app.get('/url/:invitationId', + ...(fetchMiddlewares(ConnectionController)), + ...(fetchMiddlewares(ConnectionController.prototype.getInvitation)), + + async function ConnectionController_getInvitation(request: any, response: any, next: any) { + const args = { + invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(ConnectionController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.getInvitation.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.get('/basic-messages/:connectionId', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.getSchemaById)), + ...(fetchMiddlewares(BasicMessageController)), + ...(fetchMiddlewares(BasicMessageController.prototype.getBasicMessages)), - async function Polygon_getSchemaById(request: any, response: any, next: any) { + async function BasicMessageController_getBasicMessages(request: any, response: any, next: any) { const args = { - did: {"in":"path","name":"did","required":true,"dataType":"string"}, - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(BasicMessageController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.getBasicMessages.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.post('/basic-messages/:connectionId', + authenticateMiddleware([{"apiKey":[]}]), + ...(fetchMiddlewares(BasicMessageController)), + ...(fetchMiddlewares(BasicMessageController.prototype.sendMessage)), + + async function BasicMessageController_sendMessage(request: any, response: any, next: any) { + const args = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, - forbiddenError: {"in":"res","name":"401","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -3789,13 +3735,72 @@ export function RegisterRoutes(app: Router) { const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(Polygon); + const controller: any = await container.get(BasicMessageController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } - const promise = controller.getSchemaById.apply(controller, validatedArgs as any); + const promise = controller.sendMessage.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.get('/agent', + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.getAgentInfo)), + + async function AgentController_getAgentInfo(request: any, response: any, next: any) { + const args = { + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(AgentController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.getAgentInfo.apply(controller, validatedArgs as any); + promiseHandler(controller, promise, response, undefined, next); + } catch (err) { + return next(err); + } + }); + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + app.delete('/agent/wallet', + authenticateMiddleware([{"apiKey":[]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.deleteWallet)), + + async function AgentController_deleteWallet(request: any, response: any, next: any) { + const args = { + }; + + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + + let validatedArgs: any[] = []; + try { + validatedArgs = getValidatedArgs(args, request, response); + + const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; + + const controller: any = await container.get(AgentController); + if (typeof controller['setStatus'] === 'function') { + controller.setStatus(undefined); + } + + + const promise = controller.deleteWallet.apply(controller, validatedArgs as any); promiseHandler(controller, promise, response, undefined, next); } catch (err) { return next(err); diff --git a/src/routes/swagger.json b/src/routes/swagger.json index d36439fd..2eb97060 100644 --- a/src/routes/swagger.json +++ b/src/routes/swagger.json @@ -7,75 +7,262 @@ "requestBodies": {}, "responses": {}, "schemas": { - "AgentInfo": { + "Record_string.unknown_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "RecordId": { + "type": "string", + "example": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e" + }, + "ProofFormat": { "properties": { - "label": { + "formatKey": { "type": "string" }, - "endpoints": { - "items": { - "type": "string" + "proofFormats": { + "properties": { + "selectCredentialsForRequest": { + "properties": { + "output": {}, + "input": {} + }, + "required": [ + "output", + "input" + ], + "type": "object" + }, + "getCredentialsForRequest": { + "properties": { + "output": {}, + "input": {} + }, + "required": [ + "output", + "input" + ], + "type": "object" + }, + "acceptRequest": {}, + "createRequest": {}, + "acceptProposal": {}, + "createProposal": {} }, - "type": "array" - }, - "isInitialized": { - "type": "boolean" + "required": [ + "selectCredentialsForRequest", + "getCredentialsForRequest", + "acceptRequest", + "createRequest", + "acceptProposal", + "createProposal" + ], + "type": "object" }, - "publicDid": {} + "formatData": { + "properties": { + "presentation": {}, + "request": {}, + "proposal": {} + }, + "required": [ + "presentation", + "request", + "proposal" + ], + "type": "object" + } }, "required": [ - "label", - "endpoints", - "isInitialized", - "publicDid" + "formatKey", + "proofFormats", + "formatData" ], "type": "object", "additionalProperties": false }, - "Record_string.unknown_": { - "properties": {}, - "additionalProperties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "AutoAcceptProof": { + "description": "Typing of the state for auto acceptance", + "enum": [ + "always", + "contentApproved", + "never" + ], + "type": "string" }, - "BasicMessageRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" + "RequestProofProposalOptions": { + "properties": { + "connectionId": { + "type": "string" + }, + "proofFormats": { + "properties": { + "action": { + "type": "string", + "enum": [ + "createProposal" + ], + "nullable": false + }, + "formats": { + "items": { + "$ref": "#/components/schemas/ProofFormat" + }, + "type": "array" + } + }, + "required": [ + "action", + "formats" + ], + "type": "object" + }, + "goalCode": { + "type": "string" + }, + "parentThreadId": { + "type": "string" + }, + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "comment": { + "type": "string" + } + }, + "required": [ + "connectionId", + "proofFormats" + ], + "type": "object", + "additionalProperties": false }, - "RecordId": { - "type": "string", - "example": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e" + "AcceptProofProposal": { + "properties": { + "proofRecordId": { + "type": "string" + }, + "proofFormats": { + "properties": { + "action": { + "type": "string", + "enum": [ + "acceptProposal" + ], + "nullable": false + }, + "formats": { + "items": { + "$ref": "#/components/schemas/ProofFormat" + }, + "type": "array" + } + }, + "required": [ + "action", + "formats" + ], + "type": "object" + }, + "comment": { + "type": "string" + }, + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "goalCode": { + "type": "string" + }, + "willConfirm": { + "type": "boolean" + } + }, + "required": [ + "proofRecordId", + "proofFormats" + ], + "type": "object", + "additionalProperties": false }, - "Record_content.string_": { + "RequestProofOptions": { "properties": { - "content": { + "connectionId": { + "type": "string" + }, + "protocolVersion": { + "type": "string" + }, + "proofFormats": {}, + "comment": { "type": "string" + }, + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "goalCode": { + "type": "string" + }, + "parentThreadId": { + "type": "string" + }, + "willConfirm": { + "type": "boolean" } }, "required": [ - "content" + "connectionId", + "protocolVersion", + "proofFormats", + "comment", + "autoAcceptProof" ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "DidExchangeState": { - "description": "Connection states as defined in RFC 0023.", - "enum": [ - "start", - "invitation-sent", - "invitation-received", - "request-sent", - "request-received", - "response-sent", - "response-received", - "abandoned", - "completed" + "CreateProofRequestOobOptions": { + "properties": { + "protocolVersion": { + "type": "string" + }, + "proofFormats": {}, + "goalCode": { + "type": "string" + }, + "parentThreadId": { + "type": "string" + }, + "willConfirm": { + "type": "boolean" + }, + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "comment": { + "type": "string" + }, + "label": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "recipientKey": { + "type": "string" + } + }, + "required": [ + "protocolVersion", + "proofFormats" ], - "type": "string" + "type": "object", + "additionalProperties": false }, "HandshakeProtocol": { + "description": "Enum values should be sorted based on order of preference. Values will be\nincluded in this order when creating out of band invitations.", "enum": [ - "https://didcomm.org/connections/1.0", - "https://didcomm.org/didexchange/1.0" + "https://didcomm.org/didexchange/1.x", + "https://didcomm.org/connections/1.x" ], "type": "string" }, @@ -545,6 +732,9 @@ "acceptInvitationTimeoutMs": { "type": "number", "format": "double" + }, + "ourDid": { + "type": "string" } }, "type": "object", @@ -578,6 +768,9 @@ "type": "number", "format": "double" }, + "ourDid": { + "type": "string" + }, "invitation": { "$ref": "#/components/schemas/OutOfBandInvitationSchema" } @@ -612,6 +805,9 @@ "type": "number", "format": "double" }, + "ourDid": { + "type": "string" + }, "invitationUrl": { "type": "string" } @@ -646,85 +842,57 @@ "type": "object", "additionalProperties": false }, - "CredentialDefinitionId": { - "type": "string", - "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag" - }, - "SchemaId": { - "type": "string", - "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" - }, - "Version": { - "type": "string", - "example": "1.0.0" - }, - "Record_string.any_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "DidResolutionMetadata": { + "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { "properties": { - "contentType": { + "label": { "type": "string" }, - "error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "string", - "enum": [ - "invalidDid", - "notFound", - "representationNotSupported", - "unsupportedDidMethod" - ] - } - ] - }, - "message": { + "connectionImageUrl": { "type": "string" } }, + "required": [ + "label" + ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "DIDDocumentMetadata": { - "description": "Represents metadata about the DID document resulting from a {@link Resolvable.resolve} operation.", + "Omit_TenantConfig.walletConfig_": { + "$ref": "#/components/schemas/Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "CreateTenantOptions": { "properties": { - "created": { - "type": "string" - }, - "updated": { - "type": "string" - }, - "deactivated": { - "type": "boolean" + "config": { + "$ref": "#/components/schemas/Omit_TenantConfig.walletConfig_" }, - "versionId": { + "seed": { "type": "string" }, - "nextUpdate": { + "method": { "type": "string" }, - "nextVersionId": { + "role": { "type": "string" }, - "equivalentId": { + "endorserDid": { "type": "string" }, - "canonicalId": { + "did": { "type": "string" } }, + "required": [ + "config" + ], "type": "object", "additionalProperties": false }, - "Did": { - "type": "string", - "example": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + "Record_string.any_": { + "properties": {}, + "additionalProperties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, "DidDocument": { "$ref": "#/components/schemas/Record_string.any_" @@ -761,59 +929,13 @@ "privatekey": { "type": "string" }, - "endpoint": { - "type": "string" - } - }, - "required": [ - "keyType", - "method" - ], - "type": "object", - "additionalProperties": false - }, - "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { - "properties": { - "label": { - "type": "string" - }, - "connectionImageUrl": { - "type": "string" - } - }, - "required": [ - "label" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_TenantConfig.walletConfig_": { - "$ref": "#/components/schemas/Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "CreateTenantOptions": { - "properties": { - "config": { - "$ref": "#/components/schemas/Omit_TenantConfig.walletConfig_" - }, - "seed": { - "type": "string" - }, - "method": { - "type": "string" - }, - "role": { - "type": "string" - }, - "endorserDid": { - "type": "string" - }, - "did": { + "endpoint": { "type": "string" } }, "required": [ - "config" + "keyType", + "method" ], "type": "object", "additionalProperties": false @@ -897,6 +1019,25 @@ "$ref": "#/components/schemas/Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__", "description": "Construct a type with the properties of T except for those in type K." }, + "DidExchangeState": { + "description": "Connection states as defined in RFC 0023.", + "enum": [ + "start", + "invitation-sent", + "invitation-received", + "request-sent", + "request-received", + "response-sent", + "response-received", + "abandoned", + "completed" + ], + "type": "string" + }, + "Version": { + "type": "string", + "example": "1.0.0" + }, "WriteTransaction": { "properties": { "endorsedTransaction": { @@ -963,6 +1104,14 @@ "type": "object", "additionalProperties": false }, + "SchemaId": { + "type": "string", + "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" + }, + "CredentialDefinitionId": { + "type": "string", + "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag" + }, "AutoAcceptCredential": { "description": "Typing of the state for auto acceptance", "enum": [ @@ -1039,6 +1188,13 @@ "credentialDefinitionId": { "type": "string" }, + "revocationRegistryDefinitionId": { + "type": "string" + }, + "revocationRegistryIndex": { + "type": "number", + "format": "double" + }, "attributes": { "items": { "$ref": "#/components/schemas/CredentialPreviewAttributeOptions" @@ -1267,88 +1423,6 @@ ], "type": "string" }, - "AutoAcceptProof": { - "description": "Typing of the state for auto acceptance", - "enum": [ - "always", - "contentApproved", - "never" - ], - "type": "string" - }, - "RequestProofOptions": { - "properties": { - "connectionId": { - "type": "string" - }, - "protocolVersion": { - "type": "string" - }, - "proofFormats": {}, - "comment": { - "type": "string" - }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "goalCode": { - "type": "string" - }, - "parentThreadId": { - "type": "string" - }, - "willConfirm": { - "type": "boolean" - } - }, - "required": [ - "connectionId", - "protocolVersion", - "proofFormats", - "comment", - "autoAcceptProof" - ], - "type": "object", - "additionalProperties": false - }, - "CreateProofRequestOobOptions": { - "properties": { - "protocolVersion": { - "type": "string" - }, - "proofFormats": {}, - "goalCode": { - "type": "string" - }, - "parentThreadId": { - "type": "string" - }, - "willConfirm": { - "type": "boolean" - }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "comment": { - "type": "string" - }, - "label": { - "type": "string" - }, - "imageUrl": { - "type": "string" - }, - "recipientKey": { - "type": "string" - } - }, - "required": [ - "protocolVersion", - "proofFormats" - ], - "type": "object", - "additionalProperties": false - }, "QuestionAnswerRole": { "enum": [ "questioner", @@ -1390,166 +1464,72 @@ "type": "object", "description": "Construct a type with a set of properties K of type T" }, - "ProofFormat": { - "properties": { - "formatKey": { - "type": "string" - }, - "proofFormats": { - "properties": { - "selectCredentialsForRequest": { - "properties": { - "output": {}, - "input": {} - }, - "required": [ - "output", - "input" - ], - "type": "object" - }, - "getCredentialsForRequest": { - "properties": { - "output": {}, - "input": {} - }, - "required": [ - "output", - "input" - ], - "type": "object" - }, - "acceptRequest": {}, - "createRequest": {}, - "acceptProposal": {}, - "createProposal": {} - }, - "required": [ - "selectCredentialsForRequest", - "getCredentialsForRequest", - "acceptRequest", - "createRequest", - "acceptProposal", - "createProposal" - ], - "type": "object" - }, - "formatData": { - "properties": { - "presentation": {}, - "request": {}, - "proposal": {} - }, - "required": [ - "presentation", - "request", - "proposal" - ], - "type": "object" - } - }, - "required": [ - "formatKey", - "proofFormats", - "formatData" - ], - "type": "object", - "additionalProperties": false - }, - "RequestProofProposalOptions": { + "DidResolutionMetadata": { "properties": { - "connectionId": { + "contentType": { "type": "string" }, - "proofFormats": { - "properties": { - "action": { - "type": "string", - "enum": [ - "createProposal" - ], - "nullable": false + "error": { + "anyOf": [ + { + "type": "string" }, - "formats": { - "items": { - "$ref": "#/components/schemas/ProofFormat" - }, - "type": "array" - } - }, - "required": [ - "action", - "formats" - ], - "type": "object" - }, - "goalCode": { - "type": "string" - }, - "parentThreadId": { - "type": "string" - }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "comment": { - "type": "string" - } - }, - "required": [ - "connectionId", - "proofFormats" - ], - "type": "object", - "additionalProperties": false - }, - "AcceptProofProposal": { - "properties": { - "proofRecordId": { - "type": "string" - }, - "proofFormats": { - "properties": { - "action": { + { "type": "string", "enum": [ - "acceptProposal" - ], - "nullable": false - }, - "formats": { - "items": { - "$ref": "#/components/schemas/ProofFormat" - }, - "type": "array" + "invalidDid", + "notFound", + "representationNotSupported", + "unsupportedDidMethod" + ] } - }, - "required": [ - "action", - "formats" - ], - "type": "object" + ] }, - "comment": { + "message": { "type": "string" }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" + "servedFromCache": { + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "DIDDocumentMetadata": { + "description": "Represents metadata about the DID document resulting from a {@link Resolvable.resolve} operation.", + "properties": { + "created": { + "type": "string" }, - "goalCode": { + "updated": { "type": "string" }, - "willConfirm": { + "deactivated": { "type": "boolean" + }, + "versionId": { + "type": "string" + }, + "nextUpdate": { + "type": "string" + }, + "nextVersionId": { + "type": "string" + }, + "equivalentId": { + "type": "string" + }, + "canonicalId": { + "type": "string" } }, - "required": [ - "proofRecordId", - "proofFormats" - ], "type": "object", "additionalProperties": false }, + "Did": { + "type": "string", + "example": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + }, "W3cCredentialRecord": { "$ref": "#/components/schemas/Record_string.unknown_" }, @@ -1732,232 +1712,90 @@ ], "type": "object", "additionalProperties": false - } - }, - "securitySchemes": { - "apiKey": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } - }, - "info": { - "title": "@aries-framework/rest", - "version": "0.9.4", - "description": "Rest endpoint wrapper for using your agent over HTTP", - "license": { - "name": "Apache-2.0" - }, - "contact": {} - }, - "paths": { - "/agent": { - "get": { - "operationId": "GetAgentInfo", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentInfo" - } - } - } - } - }, - "description": "Retrieve basic agent information", - "tags": [ - "Agent" - ], - "security": [], - "parameters": [] - } - }, - "/agent/wallet": { - "delete": { - "operationId": "DeleteWallet", - "responses": { - "204": { - "description": "No content" - } - }, - "description": "Delete wallet", - "tags": [ - "Agent" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [] - } - }, - "/basic-messages/{connectionId}": { - "get": { - "operationId": "GetBasicMessages", - "responses": { - "200": { - "description": "BasicMessageRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/BasicMessageRecord" - }, - "type": "array" - }, - "examples": { - "Example 1": { - "value": [ - { - "_tags": { - "role": "sender", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - }, - "metadata": {}, - "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", - "createdAt": "2022-08-18T08:38:40.216Z", - "content": "string", - "sentTime": "2022-08-18T08:38:40.216Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - } - ] - } - } - } - } + }, + "BasicMessageRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "Record_content.string_": { + "properties": { + "content": { + "type": "string" } }, - "description": "Retrieve basic messages by connection id", - "tags": [ - "Basic Messages" - ], - "security": [ - { - "apiKey": [] - } + "required": [ + "content" ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "post": { - "operationId": "SendMessage", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } + "AgentInfo": { + "properties": { + "label": { + "type": "string" }, - "404": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } - } - } + "endpoints": { + "items": { + "type": "string" + }, + "type": "array" }, - "500": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - } - } - } - } + "isInitialized": { + "type": "boolean" + }, + "publicDid": {} }, - "description": "Send a basic message to a connection", - "tags": [ - "Basic Messages" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } + "required": [ + "label", + "endpoints", + "isInitialized", + "publicDid" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Record_content.string_" - } - } - } - } + "type": "object", + "additionalProperties": false } }, - "/connections": { + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } + }, + "info": { + "title": "@aries-framework/rest", + "version": "0.9.4", + "description": "Rest endpoint wrapper for using your agent over HTTP", + "license": { + "name": "Apache-2.0" + }, + "contact": {} + }, + "paths": { + "/proofs": { "get": { - "operationId": "GetAllConnections", + "operationId": "GetAllProofs", "responses": { "200": { - "description": "ConnectionRecord[]", + "description": "ProofRecord[]", "content": { "application/json": { - "schema": {}, + "schema": { + "items": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "type": "array" + }, "examples": { "Example 1": { "value": [ { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, "metadata": {}, "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } ] } @@ -1966,9 +1804,9 @@ } } }, - "description": "Retrieve all connections records", + "description": "Retrieve all proof records", "tags": [ - "Connections" + "Proofs" ], "security": [ { @@ -1978,52 +1816,7 @@ "parameters": [ { "in": "query", - "name": "outOfBandId", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Alias", - "in": "query", - "name": "alias", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Connection state", - "in": "query", - "name": "state", - "required": false, - "schema": { - "$ref": "#/components/schemas/DidExchangeState" - } - }, - { - "description": "My DID", - "in": "query", - "name": "myDid", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Their DID", - "in": "query", - "name": "theirDid", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Their label", - "in": "query", - "name": "theirLabel", + "name": "threadId", "required": false, "schema": { "type": "string" @@ -2032,31 +1825,24 @@ ] } }, - "/connections/{connectionId}": { + "/proofs/{proofRecordId}": { "get": { - "operationId": "GetConnectionById", + "operationId": "GetProofById", "responses": { "200": { - "description": "ConnectionRecord", + "description": "ProofRecord", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, "metadata": {}, "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } @@ -2080,11 +1866,29 @@ } } } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } } }, - "description": "Retrieve connection record by connection id", + "description": "Retrieve proof record by proof record id", "tags": [ - "Connections" + "Proofs" ], "security": [ { @@ -2093,24 +1897,37 @@ ], "parameters": [ { - "description": "Connection identifier", "in": "path", - "name": "connectionId", + "name": "proofRecordId", "required": true, "schema": { "$ref": "#/components/schemas/RecordId" } } ] - }, - "delete": { - "operationId": "DeleteConnection", + } + }, + "/proofs/propose-proof": { + "post": { + "operationId": "ProposeProof", "responses": { "200": { - "description": "Ok", + "description": "ProofRecord", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } } } }, @@ -2151,53 +1968,46 @@ } } }, - "description": "Deletes a connection record from the connection repository.", + "description": "Initiate a new presentation exchange as prover by sending a presentation proposal request\nto the connection with the specified connection id.", "tags": [ - "Connections" + "Proofs" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestProofProposalOptions" + } } } - ] + } } }, - "/connections/{connectionId}/accept-request": { + "/proofs/{proofRecordId}/accept-proposal": { "post": { - "operationId": "AcceptRequest", + "operationId": "AcceptProposal", "responses": { "200": { - "description": "ConnectionRecord", + "description": "ProofRecord", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, "metadata": {}, "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } @@ -2241,53 +2051,46 @@ } } }, - "description": "Accept a connection request as inviter by sending a connection response message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", + "description": "Accept a presentation proposal as verifier by sending an accept proposal message\nto the connection associated with the proof record.", "tags": [ - "Connections" + "Proofs" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcceptProofProposal" + } } } - ] + } } }, - "/connections/{connectionId}/accept-response": { + "/proofs/request-proof": { "post": { - "operationId": "AcceptResponse", + "operationId": "RequestProof", "responses": { "200": { - "description": "ConnectionRecord", + "description": "Ok", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { - "value": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, + "value": { "metadata": {}, "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } @@ -2331,31 +2134,30 @@ } } }, - "description": "Accept a connection response as invitee by sending a trust ping message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", "tags": [ - "Connections" + "Proofs" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestProofOptions" + } } } - ] + } } }, - "/url/{invitationId}": { - "get": { - "operationId": "GetInvitation", + "/proofs/create-request-oob": { + "post": { + "operationId": "CreateRequest", "responses": { "200": { "description": "Ok", @@ -2365,24 +2167,6 @@ } } }, - "404": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } - } - } - }, "500": { "description": "", "content": { @@ -2403,153 +2187,44 @@ } }, "tags": [ - "Connections" - ], - "security": [], - "parameters": [ - { - "in": "path", - "name": "invitationId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/oob": { - "get": { - "operationId": "GetAllOutOfBandRecords", - "responses": { - "200": { - "description": "OutOfBandRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" - }, - "examples": { - "Example 1": { - "value": [ - { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } - ] - } - } - } - } - } - }, - "description": "Retrieve all out of band records", - "tags": [ - "Out Of Band" + "Proofs" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "description": "invitation identifier", - "in": "query", - "name": "invitationId", - "required": false, - "schema": { - "$ref": "#/components/schemas/RecordId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateProofRequestOobOptions" + } } } - ] + } } }, - "/oob/{outOfBandId}": { - "get": { - "operationId": "GetOutOfBandRecordById", + "/proofs/{proofRecordId}/accept-request": { + "post": { + "operationId": "AcceptRequest", "responses": { "200": { - "description": "OutOfBandRecord", + "description": "ProofRecord", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } @@ -2573,11 +2248,29 @@ } } } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } } }, - "description": "Retrieve an out of band record by id", + "description": "Accept a presentation request as prover by sending an accept request message\nto the connection associated with the proof record.", "tags": [ - "Out Of Band" + "Proofs" ], "security": [ { @@ -2587,22 +2280,57 @@ "parameters": [ { "in": "path", - "name": "outOfBandId", + "name": "proofRecordId", "required": true, "schema": { - "$ref": "#/components/schemas/RecordId" + "type": "string" } } - ] - }, - "delete": { - "operationId": "DeleteOutOfBandRecord", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "comment": { + "type": "string" + }, + "filterByNonRevocationRequirements": { + "type": "boolean" + }, + "filterByPresentationPreview": { + "type": "boolean" + } + }, + "type": "object" + } + } + } + } + } + }, + "/proofs/{proofRecordId}/accept-presentation": { + "post": { + "operationId": "AcceptPresentation", "responses": { "200": { - "description": "Ok", + "description": "ProofRecord", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } } } }, @@ -2643,9 +2371,9 @@ } } }, - "description": "Deletes an out of band record from the repository.", + "description": "Accept a presentation as prover by sending an accept presentation message\nto the connection associated with the proof record.", "tags": [ - "Out Of Band" + "Proofs" ], "security": [ { @@ -2654,98 +2382,58 @@ ], "parameters": [ { - "description": "Record identifier", "in": "path", - "name": "outOfBandId", + "name": "proofRecordId", "required": true, "schema": { - "$ref": "#/components/schemas/RecordId" + "type": "string" } } ] } }, - "/oob/create-invitation": { - "post": { - "operationId": "CreateInvitation", + "/proofs/{proofRecordId}/form-data": { + "get": { + "operationId": "ProofFormData", "responses": { "200": { - "description": "Out of band record", + "description": "Ok", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "invitationUrl": "string", - "invitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } } } }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + }, "500": { "description": "", "content": { @@ -2765,106 +2453,52 @@ } } }, - "description": "Creates an outbound out-of-band record containing out-of-band invitation message defined in\nAries RFC 0434: Out-of-Band Protocol 1.1.", "tags": [ - "Out Of Band" + "Proofs" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "description": "configuration of how out-of-band invitation should be created", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateInvitationOptions", - "description": "configuration of how out-of-band invitation should be created" - } + "parameters": [ + { + "in": "path", + "name": "proofRecordId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/oob/create-legacy-invitation": { + "/polygon/create-keys": { "post": { - "operationId": "CreateLegacyInvitation", + "operationId": "CreateKeyPair", "responses": { "200": { - "description": "out-of-band record and invitation", + "description": "Secp256k1KeyPair", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "invitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } + "schema": { + "properties": { + "address": { + "type": "string" + }, + "publicKeyBase58": { + "type": "string" + }, + "privateKey": { + "type": "string" } - } + }, + "required": [ + "address", + "publicKeyBase58", + "privateKey" + ], + "type": "object" } } } @@ -2888,61 +2522,31 @@ } } }, - "description": "Creates an outbound out-of-band record in the same way how `createInvitation` method does it,\nbut it also converts out-of-band invitation message to an \"legacy\" invitation message defined\nin RFC 0160: Connection Protocol and returns it together with out-of-band record.", + "description": "Create Secp256k1 key pair for polygon DID", "tags": [ - "Out Of Band" + "Polygon" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "description": "configuration of how a invitation should be created", - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_CreateLegacyInvitationConfig.routing_" - }, - { - "$ref": "#/components/schemas/RecipientKeyOption" - } - ], - "description": "configuration of how a invitation should be created" - } - } - } - } + "parameters": [] } }, - "/oob/create-legacy-connectionless-invitation": { + "/polygon/create-schema": { "post": { - "operationId": "CreateLegacyConnectionlessInvitation", + "operationId": "CreateSchema", "responses": { "200": { - "description": "a message and a invitationUrl", + "description": "Schema JSON", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "message": { - "@id": "eac4ff4e-b4fb-4c1d-aef3-b29c89d1cc00", - "@type": "https://didcomm.org/connections/1.0/invitation" - }, - "invitationUrl": "http://example.com/invitation_url" - } - } - } + "schema": {} } } }, - "404": { + "400": { "description": "", "content": { "application/json": { @@ -2979,9 +2583,9 @@ } } }, - "description": "Creates a new connectionless legacy invitation.", + "description": "Create polygon based W3C schema", "tags": [ - "Out Of Band" + "Polygon" ], "security": [ { @@ -2990,102 +2594,61 @@ ], "parameters": [], "requestBody": { - "description": "configuration of how a connection invitation should be created", "required": true, "content": { "application/json": { "schema": { "properties": { - "domain": { - "type": "string" + "schema": { + "properties": {}, + "additionalProperties": {}, + "type": "object" }, - "message": { - "$ref": "#/components/schemas/AgentMessageType" + "schemaName": { + "type": "string" }, - "recordId": { + "did": { "type": "string" } }, "required": [ - "domain", - "message", - "recordId" + "schema", + "schemaName", + "did" ], - "type": "object", - "description": "configuration of how a connection invitation should be created" + "type": "object" } } } } } }, - "/oob/receive-invitation": { + "/polygon/estimate-transaction": { "post": { - "operationId": "ReceiveInvitation", + "operationId": "EstimateTransaction", "responses": { "200": { - "description": "out-of-band record and connection record if one has been created.", + "description": "Transaction Object", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } + "schema": {} + } + } + }, + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" } - } + }, + "required": [ + "reason" + ], + "type": "object" } } } @@ -3109,9 +2672,9 @@ } } }, - "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", + "description": "Estimate transaction", "tags": [ - "Out Of Band" + "Polygon" ], "security": [ { @@ -3124,80 +2687,47 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ReceiveInvitationProps" + "properties": { + "transaction": {}, + "operation": {} + }, + "required": [ + "transaction", + "operation" + ], + "type": "object" } } } } } }, - "/oob/receive-invitation-url": { - "post": { - "operationId": "ReceiveInvitationFromUrl", + "/polygon/{did}/{schemaId}": { + "get": { + "operationId": "GetSchemaById", "responses": { "200": { - "description": "out-of-band record and connection record if one has been created.", + "description": "Schema Object", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } + "schema": {} + } + } + }, + "401": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" } - } + }, + "required": [ + "reason" + ], + "type": "object" } } } @@ -3221,41 +2751,53 @@ } } }, - "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", + "description": "Fetch schema details", "tags": [ - "Out Of Band" + "Polygon" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReceiveInvitationByUrlProps" - } + "parameters": [ + { + "in": "path", + "name": "did", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "schemaId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/oob/{outOfBandId}/accept-invitation": { - "post": { - "operationId": "AcceptInvitation", + ] + } + }, + "/oob": { + "get": { + "operationId": "GetAllOutOfBandRecords", "responses": { "200": { - "description": "Ok", + "description": "OutOfBandRecord[]", "content": { "application/json": { - "schema": {}, + "schema": { + "items": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "type": "array" + }, "examples": { "Example 1": { - "value": { - "outOfBandRecord": { + "value": [ + { "_tags": { "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", "state": "await-response", @@ -3292,66 +2834,15 @@ "id": "42a95528-0e30-4f86-a462-0efb02178b53", "createdAt": "2022-01-01T00:00:00.000Z", "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" } - } + ] } } } } - }, - "404": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } - } - } - }, - "500": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - } - } - } } }, - "description": "Accept a connection invitation as invitee (by sending a connection request message) for the connection with the specified connection id.\nThis is not needed when auto accepting of connections is enabled.", + "description": "Retrieve all out of band records", "tags": [ "Out Of Band" ], @@ -3362,92 +2853,71 @@ ], "parameters": [ { - "in": "path", - "name": "outOfBandId", - "required": true, + "description": "invitation identifier", + "in": "query", + "name": "invitationId", + "required": false, "schema": { "$ref": "#/components/schemas/RecordId" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcceptInvitationConfig" - } - } - } - } + ] } }, - "/credential-definitions/{credentialDefinitionId}": { + "/oob/{outOfBandId}": { "get": { - "operationId": "GetCredentialDefinitionById", + "operationId": "GetOutOfBandRecordById", "responses": { "200": { - "description": "CredDef", + "description": "OutOfBandRecord", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", - "schemaId": "351936", - "type": "CL", - "tag": "definition", - "value": { - "primary": { - "n": "string", - "s": "string", - "r": { - "master_secret": "string", - "string": "string" - }, - "rctxt": "string", - "z": "string" - }, - "revocation": { - "g": "1 string", - "g_dash": "string", - "h": "string", - "h0": "string", - "h1": "string", - "h2": "string", - "htilde": "string", - "h_cap": "string", - "u": "string", - "pk": "string", - "y": "string" - } - } + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false } } } } } }, - "400": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } - } - } - }, "404": { "description": "", "content": { @@ -3465,29 +2935,11 @@ } } } - }, - "500": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - } - } - } } }, - "description": "Retrieve credential definition by credential definition id", + "description": "Retrieve an out of band record by id", "tags": [ - "Credential Definitions" + "Out Of Band" ], "security": [ { @@ -3497,60 +2949,22 @@ "parameters": [ { "in": "path", - "name": "credentialDefinitionId", + "name": "outOfBandId", "required": true, "schema": { - "$ref": "#/components/schemas/CredentialDefinitionId" + "$ref": "#/components/schemas/RecordId" } } ] - } - }, - "/credential-definitions": { - "post": { - "operationId": "CreateCredentialDefinition", + }, + "delete": { + "operationId": "DeleteOutOfBandRecord", "responses": { "200": { - "description": "CredDef", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", - "schemaId": "351936", - "type": "CL", - "tag": "definition", - "value": { - "primary": { - "n": "string", - "s": "string", - "r": { - "master_secret": "string", - "string": "string" - }, - "rctxt": "string", - "z": "string" - }, - "revocation": { - "g": "1 string", - "g_dash": "string", - "h": "string", - "h0": "string", - "h1": "string", - "h2": "string", - "htilde": "string", - "h_cap": "string", - "u": "string", - "pk": "string", - "y": "string" - } - } - } - } - } + "description": "Ok", + "content": { + "application/json": { + "schema": {} } } }, @@ -3591,126 +3005,228 @@ } } }, - "description": "Creates a new credential definition.", + "description": "Deletes an out of band record from the repository.", "tags": [ - "Credential Definitions" + "Out Of Band" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "endorserDid": { - "type": "string" - }, - "endorse": { - "type": "boolean" - }, - "tag": { - "type": "string" - }, - "schemaId": { - "$ref": "#/components/schemas/SchemaId" - }, - "issuerId": { - "type": "string" - } - }, - "required": [ - "tag", - "schemaId", - "issuerId" - ], - "type": "object" - } + "parameters": [ + { + "description": "Record identifier", + "in": "path", + "name": "outOfBandId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } + ] } }, - "/schemas/{schemaId}": { - "get": { - "operationId": "GetSchemaById", + "/oob/create-invitation": { + "post": { + "operationId": "CreateInvitation", "responses": { "200": { - "description": "Schema", + "description": "Out of band record", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", - "name": "schema", - "version": "1.0", - "attrNames": [ - "string" - ], - "seqNo": 351936 + "invitationUrl": "string", + "invitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + } } } } } } }, - "400": { + "500": { "description": "", "content": { "application/json": { "schema": { "properties": { - "reason": { + "message": { "type": "string" } }, "required": [ - "reason" + "message" ], "type": "object" } } } - }, - "403": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } + } + }, + "description": "Creates an outbound out-of-band record containing out-of-band invitation message defined in\nAries RFC 0434: Out-of-Band Protocol 1.1.", + "tags": [ + "Out Of Band" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [], + "requestBody": { + "description": "configuration of how out-of-band invitation should be created", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateInvitationOptions", + "description": "configuration of how out-of-band invitation should be created" } } - }, - "404": { - "description": "", + } + } + } + }, + "/oob/create-legacy-invitation": { + "post": { + "operationId": "CreateLegacyInvitation", + "responses": { + "200": { + "description": "out-of-band record and invitation", "content": { "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" + "schema": {}, + "examples": { + "Example 1": { + "value": { + "invitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + } + } + } } } } @@ -3734,54 +3250,61 @@ } } }, - "description": "Retrieve schema by schema id", + "description": "Creates an outbound out-of-band record in the same way how `createInvitation` method does it,\nbut it also converts out-of-band invitation message to an \"legacy\" invitation message defined\nin RFC 0160: Connection Protocol and returns it together with out-of-band record.", "tags": [ - "Schemas" + "Out Of Band" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "$ref": "#/components/schemas/SchemaId" + "parameters": [], + "requestBody": { + "description": "configuration of how a invitation should be created", + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Omit_CreateLegacyInvitationConfig.routing_" + }, + { + "$ref": "#/components/schemas/RecipientKeyOption" + } + ], + "description": "configuration of how a invitation should be created" + } } } - ] + } } }, - "/schemas": { + "/oob/create-legacy-connectionless-invitation": { "post": { - "operationId": "CreateSchema", + "operationId": "CreateLegacyConnectionlessInvitation", "responses": { "200": { - "description": "schema", + "description": "a message and a invitationUrl", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", - "name": "schema", - "version": "1.0", - "attrNames": [ - "string" - ], - "seqNo": 351936 + "message": { + "@id": "eac4ff4e-b4fb-4c1d-aef3-b29c89d1cc00", + "@type": "https://didcomm.org/connections/1.0/invitation" + }, + "invitationUrl": "http://example.com/invitation_url" } } } } } }, - "400": { + "404": { "description": "", "content": { "application/json": { @@ -3818,9 +3341,9 @@ } } }, - "description": "Creates a new schema and registers schema on ledger", + "description": "Creates a new connectionless legacy invitation.", "tags": [ - "Schemas" + "Out Of Band" ], "security": [ { @@ -3829,168 +3352,215 @@ ], "parameters": [], "requestBody": { + "description": "configuration of how a connection invitation should be created", "required": true, "content": { "application/json": { "schema": { "properties": { - "endorserDid": { + "domain": { "type": "string" }, - "endorse": { - "type": "boolean" - }, - "attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "version": { - "$ref": "#/components/schemas/Version" - }, - "name": { - "type": "string" + "message": { + "$ref": "#/components/schemas/AgentMessageType" }, - "issuerId": { + "recordId": { "type": "string" } }, "required": [ - "attributes", - "version", - "name", - "issuerId" + "domain", + "message", + "recordId" ], - "type": "object" + "type": "object", + "description": "configuration of how a connection invitation should be created" } } } } } }, - "/dids/{did}": { - "get": { - "operationId": "GetDidRecordByDid", + "/oob/receive-invitation": { + "post": { + "operationId": "ReceiveInvitation", "responses": { "200": { - "description": "DidResolutionResult", + "description": "out-of-band record and connection record if one has been created.", "content": { "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "importDid": {} - }, - "required": [ - "importDid" - ], - "type": "object" - }, - { - "properties": { - "importDid": {}, - "didDocumentMetadata": { - "$ref": "#/components/schemas/DIDDocumentMetadata" - }, - "didResolutionMetadata": { - "$ref": "#/components/schemas/DidResolutionMetadata" - }, - "didDocument": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "didDocumentMetadata", - "didResolutionMetadata", - "didDocument" - ], - "type": "object" - } - ] - }, + "schema": {}, "examples": { "Example 1": { "value": { - "didDocument": { - "@context": [ - "https://w3id.org/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1", - "https://w3id.org/security/suites/x25519-2019/v1" - ], - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "verificationMethod": [ - { - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "type": "Ed25519VerificationKey2018", - "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "publicKeyBase58": "6fioC1zcDPyPEL19pXRS2E4iJ46zH7xP6uSgAaPdwDrx" - } - ], - "authentication": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "assertionMethod": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "capabilityInvocation": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "capabilityDelegation": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "keyAgreement": [ - { - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6LSrdqo4M24WRDJj1h2hXxgtDTyzjjKCiyapYVgrhwZAySn", - "type": "X25519KeyAgreementKey2019", - "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "publicKeyBase58": "FxfdY3DCQxVZddKGAtSjZdFW9bCCW7oRwZn1NFJ2Tbg2" - } - ] + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false }, - "didDocumentMetadata": {}, - "didResolutionMetadata": { - "contentType": "application/did+ld+json" + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" } } } } } } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } } }, - "description": "Resolves did and returns did resolution result", + "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", "tags": [ - "Dids" + "Out Of Band" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "description": "Decentralized Identifier", - "in": "path", - "name": "did", - "required": true, - "schema": { - "$ref": "#/components/schemas/Did" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReceiveInvitationProps" + } } } - ] + } } }, - "/dids/write": { + "/oob/receive-invitation-url": { "post": { - "operationId": "WriteDid", + "operationId": "ReceiveInvitationFromUrl", "responses": { "200": { - "description": "DidResolutionResult", + "description": "out-of-band record and connection record if one has been created.", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + }, + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } + } + } + } } } }, @@ -4013,9 +3583,9 @@ } } }, - "description": "Did nym registration", + "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", "tags": [ - "Dids" + "Out Of Band" ], "security": [ { @@ -4028,22 +3598,99 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DidCreate" + "$ref": "#/components/schemas/ReceiveInvitationByUrlProps" } } } } } }, - "/dids": { - "get": { - "operationId": "GetDids", + "/oob/{outOfBandId}/accept-invitation": { + "post": { + "operationId": "AcceptInvitation", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + }, + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } + } + } + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } } } }, @@ -4066,15 +3713,35 @@ } } }, + "description": "Accept a connection invitation as invitee (by sending a connection request message) for the connection with the specified connection id.\nThis is not needed when auto accepting of connections is enabled.", "tags": [ - "Dids" + "Out Of Band" ], "security": [ { "apiKey": [] } ], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "outOfBandId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcceptInvitationConfig" + } + } + } + } } }, "/multi-tenancy/create-tenant": { @@ -5123,7 +4790,8 @@ "schema": { "properties": { "schema": { - "additionalProperties": false, + "properties": {}, + "additionalProperties": {}, "type": "object" }, "schemaName": { @@ -7026,83 +6694,20 @@ "properties": { "reason": { "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } - } - } - } - }, - "description": "Retrieve question answer record by id", - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Question Answer Record identifier", - "in": "path", - "name": "id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "description": "Tenant identifier", - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/proofs": { - "get": { - "operationId": "GetAllProofs", - "responses": { - "200": { - "description": "ProofRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" - }, - "examples": { - "Example 1": { - "value": [ - { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - ] - } + } + }, + "required": [ + "reason" + ], + "type": "object" } } } } }, - "description": "Retrieve all proof records", + "description": "Retrieve question answer record by id", "tags": [ - "Proofs" + "MultiTenancy" ], "security": [ { @@ -7111,9 +6716,19 @@ ], "parameters": [ { - "in": "query", - "name": "threadId", - "required": false, + "description": "Question Answer Record identifier", + "in": "path", + "name": "id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + }, + { + "description": "Tenant identifier", + "in": "path", + "name": "tenantId", + "required": true, "schema": { "type": "string" } @@ -7121,31 +6736,19 @@ ] } }, - "/proofs/{proofRecordId}": { - "get": { - "operationId": "GetProofById", + "/transactions/endorse": { + "post": { + "operationId": "EndorserTransaction", "responses": { "200": { - "description": "ProofRecord", + "description": "Ok", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } + "schema": {} } } }, - "404": { + "400": { "description": "", "content": { "application/json": { @@ -7182,66 +6785,36 @@ } } }, - "description": "Retrieve proof record by proof record id", "tags": [ - "Proofs" + "EndorserTransaction" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EndorserTransaction" + } } } - ] + } } }, - "/proofs/propose-proof": { + "/transactions/set-endorser-role": { "post": { - "operationId": "ProposeProof", + "operationId": "DidNymTransaction", "responses": { "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - }, - "404": { - "description": "", + "description": "Ok", "content": { "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } + "schema": {} } } }, @@ -7264,9 +6837,8 @@ } } }, - "description": "Initiate a new presentation exchange as prover by sending a presentation proposal request\nto the connection with the specified connection id.", "tags": [ - "Proofs" + "EndorserTransaction" ], "security": [ { @@ -7279,38 +6851,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestProofProposalOptions" + "$ref": "#/components/schemas/DidNymTransaction" } } } } } }, - "/proofs/{proofRecordId}/accept-proposal": { + "/transactions/write": { "post": { - "operationId": "AcceptProposal", + "operationId": "WriteSchemaAndCredDefOnLedger", "responses": { "200": { - "description": "ProofRecord", + "description": "Ok", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } + "schema": {} } } }, - "404": { + "400": { "description": "", "content": { "application/json": { @@ -7347,9 +6907,8 @@ } } }, - "description": "Accept a presentation proposal as verifier by sending an accept proposal message\nto the connection associated with the proof record.", "tags": [ - "Proofs" + "EndorserTransaction" ], "security": [ { @@ -7362,52 +6921,135 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AcceptProofProposal" + "$ref": "#/components/schemas/WriteTransaction" } } } } } }, - "/proofs/request-proof": { + "/dids/{did}": { + "get": { + "operationId": "GetDidRecordByDid", + "responses": { + "200": { + "description": "DidResolutionResult", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "properties": { + "importDid": {} + }, + "required": [ + "importDid" + ], + "type": "object" + }, + { + "properties": { + "importDid": {}, + "didDocumentMetadata": { + "$ref": "#/components/schemas/DIDDocumentMetadata" + }, + "didResolutionMetadata": { + "$ref": "#/components/schemas/DidResolutionMetadata" + }, + "didDocument": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "didDocumentMetadata", + "didResolutionMetadata", + "didDocument" + ], + "type": "object" + } + ] + }, + "examples": { + "Example 1": { + "value": { + "didDocument": { + "@context": [ + "https://w3id.org/did/v1", + "https://w3id.org/security/suites/ed25519-2018/v1", + "https://w3id.org/security/suites/x25519-2019/v1" + ], + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "verificationMethod": [ + { + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "type": "Ed25519VerificationKey2018", + "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "publicKeyBase58": "6fioC1zcDPyPEL19pXRS2E4iJ46zH7xP6uSgAaPdwDrx" + } + ], + "authentication": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "assertionMethod": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "capabilityInvocation": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "capabilityDelegation": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "keyAgreement": [ + { + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6LSrdqo4M24WRDJj1h2hXxgtDTyzjjKCiyapYVgrhwZAySn", + "type": "X25519KeyAgreementKey2019", + "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "publicKeyBase58": "FxfdY3DCQxVZddKGAtSjZdFW9bCCW7oRwZn1NFJ2Tbg2" + } + ] + }, + "didDocumentMetadata": {}, + "didResolutionMetadata": { + "contentType": "application/did+ld+json" + } + } + } + } + } + } + } + }, + "description": "Resolves did and returns did resolution result", + "tags": [ + "Dids" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "description": "Decentralized Identifier", + "in": "path", + "name": "did", + "required": true, + "schema": { + "$ref": "#/components/schemas/Did" + } + } + ] + } + }, + "/dids/write": { "post": { - "operationId": "RequestProof", + "operationId": "WriteDid", "responses": { "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - }, - "404": { - "description": "", + "description": "DidResolutionResult", "content": { "application/json": { - "schema": { - "properties": { - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - } + "schema": {} } } }, @@ -7430,8 +7072,9 @@ } } }, + "description": "Did nym registration", "tags": [ - "Proofs" + "Dids" ], "security": [ { @@ -7444,16 +7087,16 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestProofOptions" + "$ref": "#/components/schemas/DidCreate" } } } } } }, - "/proofs/create-request-oob": { - "post": { - "operationId": "CreateRequest", + "/dids": { + "get": { + "operationId": "GetDids", "responses": { "200": { "description": "Ok", @@ -7483,51 +7126,43 @@ } }, "tags": [ - "Proofs" + "Dids" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProofRequestOobOptions" - } - } - } - } + "parameters": [] } }, - "/proofs/{proofRecordId}/accept-request": { - "post": { - "operationId": "AcceptRequest", + "/schemas/{schemaId}": { + "get": { + "operationId": "GetSchemaById", "responses": { "200": { - "description": "ProofRecord", + "description": "Schema", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "name": "schema", + "version": "1.0", + "attrNames": [ + "string" + ], + "seqNo": 351936 } } } } } }, - "404": { + "400": { "description": "", "content": { "application/json": { @@ -7545,90 +7180,23 @@ } } }, - "500": { + "403": { "description": "", "content": { "application/json": { "schema": { "properties": { - "message": { + "reason": { "type": "string" } }, "required": [ - "message" + "reason" ], "type": "object" } } } - } - }, - "description": "Accept a presentation request as prover by sending an accept request message\nto the connection associated with the proof record.", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "comment": { - "type": "string" - }, - "filterByNonRevocationRequirements": { - "type": "boolean" - }, - "filterByPresentationPreview": { - "type": "boolean" - } - }, - "type": "object" - } - } - } - } - } - }, - "/proofs/{proofRecordId}/accept-presentation": { - "post": { - "operationId": "AcceptPresentation", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } }, "404": { "description": "", @@ -7667,9 +7235,9 @@ } } }, - "description": "Accept a presentation as prover by sending an accept presentation message\nto the connection associated with the proof record.", + "description": "Retrieve schema by schema id", "tags": [ - "Proofs" + "Schemas" ], "security": [ { @@ -7679,40 +7247,42 @@ "parameters": [ { "in": "path", - "name": "proofRecordId", + "name": "schemaId", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/SchemaId" } } ] } }, - "/proofs/{proofRecordId}/form-data": { - "get": { - "operationId": "ProofFormData", + "/schemas": { + "post": { + "operationId": "CreateSchema", "responses": { "200": { - "description": "Ok", + "description": "schema", "content": { "application/json": { "schema": {}, "examples": { "Example 1": { "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "name": "schema", + "version": "1.0", + "attrNames": [ + "string" + ], + "seqNo": 351936 } } } } } }, - "404": { + "400": { "description": "", "content": { "application/json": { @@ -7749,35 +7319,102 @@ } } }, + "description": "Creates a new schema and registers schema on ledger", "tags": [ - "Proofs" + "Schemas" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "endorserDid": { + "type": "string" + }, + "endorse": { + "type": "boolean" + }, + "attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "$ref": "#/components/schemas/Version" + }, + "name": { + "type": "string" + }, + "issuerId": { + "type": "string" + } + }, + "required": [ + "attributes", + "version", + "name", + "issuerId" + ], + "type": "object" + } } } - ] + } } }, - "/transactions/endorse": { - "post": { - "operationId": "EndorserTransaction", + "/credential-definitions/{credentialDefinitionId}": { + "get": { + "operationId": "GetCredentialDefinitionById", "responses": { "200": { - "description": "Ok", + "description": "CredDef", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "schemaId": "351936", + "type": "CL", + "tag": "definition", + "value": { + "primary": { + "n": "string", + "s": "string", + "r": { + "master_secret": "string", + "string": "string" + }, + "rctxt": "string", + "z": "string" + }, + "revocation": { + "g": "1 string", + "g_dash": "string", + "h": "string", + "h0": "string", + "h1": "string", + "h2": "string", + "htilde": "string", + "h_cap": "string", + "u": "string", + "pk": "string", + "y": "string" + } + } + } + } + } } } }, @@ -7799,57 +7436,23 @@ } } }, - "500": { + "404": { "description": "", "content": { "application/json": { "schema": { "properties": { - "message": { + "reason": { "type": "string" } }, "required": [ - "message" + "reason" ], "type": "object" } } } - } - }, - "tags": [ - "EndorserTransaction" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndorserTransaction" - } - } - } - } - } - }, - "/transactions/set-endorser-role": { - "post": { - "operationId": "DidNymTransaction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } }, "500": { "description": "", @@ -7870,40 +7473,76 @@ } } }, + "description": "Retrieve credential definition by credential definition id", "tags": [ - "EndorserTransaction" + "Credential Definitions" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DidNymTransaction" - } + "parameters": [ + { + "in": "path", + "name": "credentialDefinitionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/CredentialDefinitionId" } } - } + ] } }, - "/transactions/write": { + "/credential-definitions": { "post": { - "operationId": "WriteSchemaAndCredDefOnLedger", + "operationId": "CreateCredentialDefinition", "responses": { "200": { - "description": "Ok", + "description": "CredDef", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "schemaId": "351936", + "type": "CL", + "tag": "definition", + "value": { + "primary": { + "n": "string", + "s": "string", + "r": { + "master_secret": "string", + "string": "string" + }, + "rctxt": "string", + "z": "string" + }, + "revocation": { + "g": "1 string", + "g_dash": "string", + "h": "string", + "h0": "string", + "h1": "string", + "h2": "string", + "htilde": "string", + "h_cap": "string", + "u": "string", + "pk": "string", + "y": "string" + } + } + } + } + } } } }, - "400": { + "404": { "description": "", "content": { "application/json": { @@ -7940,8 +7579,9 @@ } } }, + "description": "Creates a new credential definition.", "tags": [ - "EndorserTransaction" + "Credential Definitions" ], "security": [ { @@ -7954,7 +7594,29 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WriteTransaction" + "properties": { + "endorserDid": { + "type": "string" + }, + "endorse": { + "type": "boolean" + }, + "tag": { + "type": "string" + }, + "schemaId": { + "$ref": "#/components/schemas/SchemaId" + }, + "issuerId": { + "type": "string" + } + }, + "required": [ + "tag", + "schemaId", + "issuerId" + ], + "type": "object" } } } @@ -8616,7 +8278,102 @@ }, "/credentials/accept-request": { "post": { - "operationId": "AcceptRequest", + "operationId": "AcceptRequest", + "responses": { + "200": { + "description": "CredentialExchangeRecord", + "content": { + "application/json": { + "schema": {}, + "examples": { + "Example 1": { + "value": { + "_tags": { + "state": "offer-sent", + "threadId": "82701488-b43c-4d7b-9244-4bb204a7ae26", + "connectionId": "ac6d0fdd-0db8-4f52-8a3d-de7ff8ddc14b" + }, + "metadata": { + "_internal/indyCredential": { + "credentialDefinitionId": "q7ATwTYbQDgiigVijUAej:3:CL:318187:latest", + "schemaId": "q7ATwTYbQDgiigVijUAej:2:Employee Badge:1.0" + } + }, + "credentials": [], + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "ac6d0fdd-0db8-4f52-8a3d-de7ff8ddc14b", + "threadId": "82701488-b43c-4d7b-9244-4bb204a7ae26", + "credentialAttributes": [], + "protocolVersion": "v1" + } + } + } + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } + } + }, + "description": "Accept a credential request as issuer by sending an accept request message\nto the connection associated with the credential exchange record.", + "tags": [ + "Credentials" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcceptCredentialRequestOptions" + } + } + } + } + } + }, + "/credentials/accept-credential": { + "post": { + "operationId": "AcceptCredential", "responses": { "200": { "description": "CredentialExchangeRecord", @@ -8687,7 +8444,7 @@ } } }, - "description": "Accept a credential request as issuer by sending an accept request message\nto the connection associated with the credential exchange record.", + "description": "Accept a credential as holder by sending an accept credential message\nto the connection associated with the credential exchange record.", "tags": [ "Credentials" ], @@ -8702,19 +8459,119 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AcceptCredentialRequestOptions" + "$ref": "#/components/schemas/AcceptCredential" } } } } } }, - "/credentials/accept-credential": { - "post": { - "operationId": "AcceptCredential", + "/connections": { + "get": { + "operationId": "GetAllConnections", "responses": { "200": { - "description": "CredentialExchangeRecord", + "description": "ConnectionRecord[]", + "content": { + "application/json": { + "schema": {}, + "examples": { + "Example 1": { + "value": [ + { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } + ] + } + } + } + } + } + }, + "description": "Retrieve all connections records", + "tags": [ + "Connections" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "query", + "name": "outOfBandId", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Alias", + "in": "query", + "name": "alias", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Connection state", + "in": "query", + "name": "state", + "required": false, + "schema": { + "$ref": "#/components/schemas/DidExchangeState" + } + }, + { + "description": "My DID", + "in": "query", + "name": "myDid", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Their DID", + "in": "query", + "name": "theirDid", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "Their label", + "in": "query", + "name": "theirLabel", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/connections/{connectionId}": { + "get": { + "operationId": "GetConnectionById", + "responses": { + "200": { + "description": "ConnectionRecord", "content": { "application/json": { "schema": {}, @@ -8722,29 +8579,75 @@ "Example 1": { "value": { "_tags": { - "state": "offer-sent", - "threadId": "82701488-b43c-4d7b-9244-4bb204a7ae26", - "connectionId": "ac6d0fdd-0db8-4f52-8a3d-de7ff8ddc14b" - }, - "metadata": { - "_internal/indyCredential": { - "credentialDefinitionId": "q7ATwTYbQDgiigVijUAej:3:CL:318187:latest", - "schemaId": "q7ATwTYbQDgiigVijUAej:2:Employee Badge:1.0" - } + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" }, - "credentials": [], + "metadata": {}, "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "ac6d0fdd-0db8-4f52-8a3d-de7ff8ddc14b", - "threadId": "82701488-b43c-4d7b-9244-4bb204a7ae26", - "credentialAttributes": [], - "protocolVersion": "v1" + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" } } } } } }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + } + }, + "description": "Retrieve connection record by connection id", + "tags": [ + "Connections" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ] + }, + "delete": { + "operationId": "DeleteConnection", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": {} + } + } + }, "404": { "description": "", "content": { @@ -8782,52 +8685,71 @@ } } }, - "description": "Accept a credential as holder by sending an accept credential message\nto the connection associated with the credential exchange record.", + "description": "Deletes a connection record from the connection repository.", "tags": [ - "Credentials" + "Connections" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcceptCredential" - } + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } + ] } }, - "/polygon/create-keys": { + "/connections/{connectionId}/accept-request": { "post": { - "operationId": "CreateKeyPair", + "operationId": "AcceptRequest", "responses": { "200": { - "description": "Secp256k1KeyPair", + "description": "ConnectionRecord", + "content": { + "application/json": { + "schema": {}, + "examples": { + "Example 1": { + "value": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } + } + } + } + } + }, + "404": { + "description": "", "content": { "application/json": { "schema": { "properties": { - "address": { - "type": "string" - }, - "publicKeyBase58": { - "type": "string" - }, - "privateKey": { + "reason": { "type": "string" } }, "required": [ - "address", - "publicKeyBase58", - "privateKey" + "reason" ], "type": "object" } @@ -8853,31 +8775,60 @@ } } }, - "description": "Create Secp256k1 key pair for polygon DID", + "description": "Accept a connection request as inviter by sending a connection response message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", "tags": [ - "Polygon" + "Connections" ], "security": [ { "apiKey": [] } ], - "parameters": [] + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ] } }, - "/polygon/create-schema": { + "/connections/{connectionId}/accept-response": { "post": { - "operationId": "CreateSchema", + "operationId": "AcceptResponse", "responses": { "200": { - "description": "Schema JSON", + "description": "ConnectionRecord", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } + } + } } } }, - "400": { + "404": { "description": "", "content": { "application/json": { @@ -8914,58 +8865,41 @@ } } }, - "description": "Create polygon based W3C schema", + "description": "Accept a connection response as invitee by sending a trust ping message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", "tags": [ - "Polygon" + "Connections" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "schema": { - "additionalProperties": false, - "type": "object" - }, - "schemaName": { - "type": "string" - }, - "did": { - "type": "string" - } - }, - "required": [ - "schema", - "schemaName", - "did" - ], - "type": "object" - } + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } + ] } }, - "/polygon/estimate-transaction": { - "post": { - "operationId": "EstimateTransaction", + "/url/{invitationId}": { + "get": { + "operationId": "GetInvitation", "responses": { "200": { - "description": "Transaction Object", + "description": "Ok", "content": { "application/json": { "schema": {} } } }, - "400": { + "404": { "description": "", "content": { "application/json": { @@ -9002,49 +8936,91 @@ } } }, - "description": "Estimate transaction", "tags": [ - "Polygon" + "Connections" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "invitationId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/basic-messages/{connectionId}": { + "get": { + "operationId": "GetBasicMessages", + "responses": { + "200": { + "description": "BasicMessageRecord[]", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/BasicMessageRecord" + }, + "type": "array" + }, + "examples": { + "Example 1": { + "value": [ + { + "_tags": { + "role": "sender", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" + }, + "metadata": {}, + "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", + "createdAt": "2022-08-18T08:38:40.216Z", + "content": "string", + "sentTime": "2022-08-18T08:38:40.216Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" + } + ] + } + } + } + } + } + }, + "description": "Retrieve basic messages by connection id", + "tags": [ + "Basic Messages" ], "security": [ { "apiKey": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "transaction": {}, - "operation": {} - }, - "required": [ - "transaction", - "operation" - ], - "type": "object" - } + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } - } - }, - "/polygon/{did}/{schemaId}": { - "get": { - "operationId": "GetSchemaById", + ] + }, + "post": { + "operationId": "SendMessage", "responses": { "200": { - "description": "Schema Object", + "description": "Ok", "content": { "application/json": { "schema": {} } } }, - "401": { + "404": { "description": "", "content": { "application/json": { @@ -9081,9 +9057,9 @@ } } }, - "description": "Fetch schema details", + "description": "Send a basic message to a connection", "tags": [ - "Polygon" + "Basic Messages" ], "security": [ { @@ -9092,22 +9068,68 @@ ], "parameters": [ { + "description": "Connection identifier", "in": "path", - "name": "did", + "name": "connectionId", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/RecordId" } - }, - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record_content.string_" + } } } - ] + } + } + }, + "/agent": { + "get": { + "operationId": "GetAgentInfo", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentInfo" + } + } + } + } + }, + "description": "Retrieve basic agent information", + "tags": [ + "Agent" + ], + "security": [], + "parameters": [] + } + }, + "/agent/wallet": { + "delete": { + "operationId": "DeleteWallet", + "responses": { + "204": { + "description": "No content" + } + }, + "description": "Delete wallet", + "tags": [ + "Agent" + ], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [] } }, "/question-answer": { diff --git a/src/securityMiddleware.ts b/src/securityMiddleware.ts index ea8a5199..75654c49 100644 --- a/src/securityMiddleware.ts +++ b/src/securityMiddleware.ts @@ -13,12 +13,19 @@ export class SecurityMiddleware { // Extract route path or controller name from the request const routePath = request.path + const requestMethod = request.method // List of paths for which authentication should be skipped - const pathsToSkipAuthentication = ['/url/', '/multi-tenancy/url/', '/agent'] + const pathsToSkipAuthentication = [ + { path: '/url/', method: 'GET' }, + { path: '/multi-tenancy/url/', method: 'GET' }, + { path: '/agent', method: 'GET' }, + ] // Check if authentication should be skipped for this route or controller - const skipAuthentication = pathsToSkipAuthentication.some((path) => routePath.includes(path)) + const skipAuthentication = pathsToSkipAuthentication.some( + ({ path, method }) => routePath.includes(path) && requestMethod === method + ) if (skipAuthentication) { // Skip authentication for this route or controller diff --git a/src/server.ts b/src/server.ts index c0a95010..7cc1c599 100644 --- a/src/server.ts +++ b/src/server.ts @@ -2,7 +2,7 @@ import 'reflect-metadata' import type { ServerConfig } from './utils/ServerConfig' import type { Response as ExResponse, Request as ExRequest, NextFunction } from 'express' -import { Agent } from '@aries-framework/core' +import { Agent } from '@credo-ts/core' import bodyParser from 'body-parser' import cors from 'cors' import express from 'express' diff --git a/src/utils/agent.ts b/src/utils/agent.ts index 053ebe70..d4437081 100644 --- a/src/utils/agent.ts +++ b/src/utils/agent.ts @@ -1,5 +1,6 @@ -import type { InitConfig } from '@aries-framework/core' +import type { InitConfig } from '@credo-ts/core' +import { PolygonModule } from '@ayanworks/credo-polygon-w3c-module' import { AnonCredsModule, LegacyIndyCredentialFormatService, @@ -8,8 +9,8 @@ import { V1ProofProtocol, AnonCredsCredentialFormatService, AnonCredsProofFormatService, -} from '@aries-framework/anoncreds' -import { AskarModule } from '@aries-framework/askar' +} from '@credo-ts/anoncreds' +import { AskarModule } from '@credo-ts/askar' import { AutoAcceptCredential, CredentialsModule, @@ -17,7 +18,7 @@ import { JsonLdCredentialFormatService, KeyDidRegistrar, KeyDidResolver, - PresentationExchangeProofFormatService, + DifPresentationExchangeProofFormatService, ProofsModule, V2CredentialProtocol, V2ProofProtocol, @@ -26,11 +27,11 @@ import { ConnectionInvitationMessage, HttpOutboundTransport, LogLevel, -} from '@aries-framework/core' -import { IndyVdrAnonCredsRegistry, IndyVdrModule } from '@aries-framework/indy-vdr' -import { agentDependencies, HttpInboundTransport, IndySdkPostgresWalletScheme } from '@aries-framework/node' -import { TenantsModule } from '@aries-framework/tenants' -import { PolygonModule } from '@ayanworks/credo-polygon-w3c-module' +} from '@credo-ts/core' +import { IndyVdrAnonCredsRegistry, IndyVdrModule } from '@credo-ts/indy-vdr' +import { agentDependencies, HttpInboundTransport } from '@credo-ts/node' +import { TenantsModule } from '@credo-ts/tenants' +import { anoncreds } from '@hyperledger/anoncreds-nodejs' import { ariesAskar } from '@hyperledger/aries-askar-nodejs' import { indyVdr } from '@hyperledger/indy-vdr-nodejs' @@ -40,29 +41,12 @@ import { BCOVRIN_TEST_GENESIS } from './util' export const setupAgent = async ({ name, endpoints, port }: { name: string; endpoints: string[]; port: number }) => { const logger = new TsLogger(LogLevel.debug) - const storageConfig = { - type: 'postgres_storage', - config: { - url: '10.100.194.194:5432', - wallet_scheme: IndySdkPostgresWalletScheme.DatabasePerWallet, - }, - credentials: { - account: 'postgres', - password: 'Password1', - admin_account: 'postgres', - admin_password: 'Password1', - }, - } - - // loadIndySdkPostgresPlugin(storageConfig.config, storageConfig.credentials) - const config: InitConfig = { label: name, endpoints: endpoints, walletConfig: { id: name, key: name, - storage: storageConfig, }, logger: logger, } @@ -89,7 +73,9 @@ export const setupAgent = async ({ name, endpoints, port }: { name: string; endp anoncreds: new AnonCredsModule({ registries: [new IndyVdrAnonCredsRegistry()], + anoncreds, }), + dids: new DidsModule({ registrars: [new KeyDidRegistrar()], resolvers: [new KeyDidResolver(), new WebDidResolver()], @@ -103,7 +89,7 @@ export const setupAgent = async ({ name, endpoints, port }: { name: string; endp proofFormats: [ legacyIndyProofFormat, new AnonCredsProofFormatService(), - new PresentationExchangeProofFormatService(), + new DifPresentationExchangeProofFormatService(), ], }), ], diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts index a66b4a69..f29f41b5 100644 --- a/src/utils/helpers.ts +++ b/src/utils/helpers.ts @@ -1,5 +1,5 @@ -import { JsonTransformer } from '@aries-framework/core' -import { JsonEncoder } from '@aries-framework/core/build/utils/JsonEncoder' +import { JsonTransformer } from '@credo-ts/core' +import { JsonEncoder } from '@credo-ts/core/build/utils/JsonEncoder' export function objectToJson(result: T) { const serialized = JsonTransformer.serialize(result) diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 8ec2d9cb..4ae1b57a 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -2,7 +2,7 @@ import type { ILogObject } from 'tslog' -import { LogLevel, BaseLogger } from '@aries-framework/core' +import { LogLevel, BaseLogger } from '@credo-ts/core' import { appendFileSync } from 'fs' import { Logger } from 'tslog' diff --git a/src/utils/util.ts b/src/utils/util.ts index 43b71461..7051fcc5 100644 --- a/src/utils/util.ts +++ b/src/utils/util.ts @@ -160,4 +160,12 @@ export const maxRateLimit = 800 export const DID_CONTRACT_ADDRESS = '0x12513116875BB3E4F098Ce74624739Ee51bAf023' export const SCHEMA_MANAGER_CONTRACT_ADDRESS = '0x552992e9f14b15bBd76488cD4c38c89B80259f37' -export const RPC_URL = 'https://rpc-mumbai.maticvigil.com' +export const FILE_SERVER_TOKEN = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBeWFuV29ya3MiLCJpZCI6ImNhZDI3ZjhjLTMyNWYtNDRmZC04ZmZkLWExNGNhZTY3NTMyMSJ9.I3IR7abjWbfStnxzn1BhxhV0OEzt1x3mULjDdUcgWHk' +export const RPC_URL = 'https://polygon-mumbai.infura.io/v3/0579d305568d404e996e49695e9272a3' +export const SERVER_URL = 'https://schema.credebl.id' + +export const CONNECT_TIMEOUT = 10 +export const MAX_CONNECTIONS = 1000 +export const IDLE_TIMEOUT = 30000 +export const LOG_LEVEL = 2 diff --git a/yarn.lock b/yarn.lock index fb727a52..0bcb84ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,28 @@ # yarn lockfile v1 +"@2060.io/ffi-napi@4.0.8", "@2060.io/ffi-napi@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@2060.io/ffi-napi/-/ffi-napi-4.0.8.tgz#ec3424d9ec979491b41b8d82514ae82a647da8b0" + integrity sha512-sONRKLtxFKN5PXuZaa41b/kTN+R5qAh6PAL15/fnafnvAKQ5WBoxRIy8xRh8jo9mydywtt4IrWtatB93w0+3cA== + dependencies: + "@2060.io/ref-napi" "^3.0.6" + debug "^4.1.1" + get-uv-event-loop-napi-h "^1.0.5" + node-addon-api "^3.0.0" + node-gyp-build "^4.2.1" + ref-struct-di "^1.1.0" + +"@2060.io/ref-napi@3.0.6", "@2060.io/ref-napi@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@2060.io/ref-napi/-/ref-napi-3.0.6.tgz#32b1a257cada096f95345fd7abae746385ecc5dd" + integrity sha512-8VAIXLdKL85E85jRYpPcZqATBL6fGnC/XjBGNeSgRSMJtrAMSmfRksqIq5AmuZkA2eeJXMWCiN6UQOUdozcymg== + dependencies: + debug "^4.1.1" + get-symbol-from-current-process-h "^1.0.2" + node-addon-api "^3.0.0" + node-gyp-build "^4.2.1" + "@aashutoshrathi/word-wrap@^1.2.3": version "1.2.6" resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" @@ -20,123 +42,6 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@aries-framework/anoncreds-rs@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds-rs/-/anoncreds-rs-0.4.2.tgz#accce59154083dadc91d6a9c8333af8cb10f2188" - integrity sha512-S2QGDlVLJUaqjOj/b+lD+Xq8x4j88IyfJ3vwXaVwkrTlhpCiy/L+xoTaZq8UIcYIWfsrJ9CR6wl+gbCestGnFg== - dependencies: - "@aries-framework/anoncreds" "0.4.2" - "@aries-framework/core" "0.4.2" - class-transformer "^0.5.1" - class-validator "0.14.0" - rxjs "^7.2.0" - tsyringe "^4.8.0" - -"@aries-framework/anoncreds@0.4.2", "@aries-framework/anoncreds@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/anoncreds/-/anoncreds-0.4.2.tgz#0d2bc7a40c8fac777c18325199939866d03c9ea3" - integrity sha512-Jwn9TfzgOhuW6nxOs0DyzU1W/XL1XvyOt8zjhgz0ETDuwVJMtSTyN+1f4y5B0R7fuBYJ6KbdAwfeCRQT8BLa6g== - dependencies: - "@aries-framework/core" "0.4.2" - bn.js "^5.2.1" - class-transformer "0.5.1" - class-validator "0.14.0" - reflect-metadata "^0.1.13" - -"@aries-framework/askar@0.4.2", "@aries-framework/askar@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/askar/-/askar-0.4.2.tgz#b05051e0a5bbdf95d3c1339aa19b2680ed6d21f0" - integrity sha512-eQuLsXCjVxRRhUCd8yXqP0PD2S3QX3OPV2eUBb7PqkTxdo1ZCbiA8Q1pCP65l9s/zVIGT/2E1ys/n1sZZm1wmQ== - dependencies: - "@aries-framework/core" "0.4.2" - bn.js "^5.2.1" - class-transformer "0.5.1" - class-validator "0.14.0" - rxjs "^7.2.0" - tsyringe "^4.8.0" - -"@aries-framework/core@0.4.2", "@aries-framework/core@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/core/-/core-0.4.2.tgz#f2118c732d6aff8d6557a15de14381e8782b54a1" - integrity sha512-2qmDRkxD5vnPlcMjVTqu/Wxog9bUVU+tSr+7mgANgJ9q170FuoSuChU7WA5VCKEdmbRIM4BmvsnTlU8Y+iQ07A== - dependencies: - "@digitalcredentials/jsonld" "^5.2.1" - "@digitalcredentials/jsonld-signatures" "^9.3.1" - "@digitalcredentials/vc" "^1.1.2" - "@multiformats/base-x" "^4.0.1" - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@stablelib/sha256" "^1.0.1" - "@types/node-fetch" "2.6.2" - "@types/ws" "^8.5.4" - abort-controller "^3.0.0" - big-integer "^1.6.51" - borc "^3.0.0" - buffer "^6.0.3" - class-transformer "0.5.1" - class-validator "0.14.0" - did-resolver "^4.1.0" - lru_map "^0.4.1" - luxon "^3.3.0" - make-error "^1.3.6" - object-inspect "^1.10.3" - query-string "^7.0.1" - reflect-metadata "^0.1.13" - rxjs "^7.2.0" - tsyringe "^4.8.0" - uuid "^9.0.0" - varint "^6.0.0" - web-did-resolver "^2.0.21" - -"@aries-framework/indy-vdr@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/indy-vdr/-/indy-vdr-0.4.2.tgz#69acee0a268a044ec7c11d3e647230c397580e7a" - integrity sha512-hFZlxWSbwXBY2sTbnCpgWbQAHZM2aeAs5Jj/Id+VJhwVsfwLvlQshBXmVpf6hIswCQsRFl3Q2lSn4MOh4pADYQ== - dependencies: - "@aries-framework/anoncreds" "0.4.2" - "@aries-framework/core" "0.4.2" - -"@aries-framework/node@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/node/-/node-0.4.2.tgz#b410cafab8e76cda3ff392c8d08b3c385c8ac507" - integrity sha512-fQOG0BWTewXoLUUd7JcpJeTFmHQfKZVTQFHYpTXwkYVuL3UTWfOEAm1NPtS8TetyHZexFxpKlDRYdFkOG9Z4rw== - dependencies: - "@aries-framework/core" "0.4.2" - "@types/express" "^4.17.15" - express "^4.17.1" - ffi-napi "^4.0.3" - node-fetch "^2.6.1" - ref-napi "^3.0.3" - ws "^8.13.0" - -"@aries-framework/push-notifications@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@aries-framework/push-notifications/-/push-notifications-0.6.0.tgz#16c73cf817f032cf3c7e15294028c02309860020" - integrity sha512-wPsIpJrzTFVispm8QsJSQ3+dh7eyG4xqpfEOp6l8dp0gLosju+s8Ln3UbXm/k8zag14zFX4QVk2iZb/pk6IFSQ== - dependencies: - class-transformer "0.5.1" - class-validator "0.14.0" - reflect-metadata "^0.1.13" - tsyringe "^4.6.0" - -"@aries-framework/question-answer@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/question-answer/-/question-answer-0.4.2.tgz#f5d29f77d1545e2823d2296cf9a8e6d2a190ed2c" - integrity sha512-rk1ODjPjOjDsjUuEJ/A8vkiW3MPpCoQk1SaVrUVKvtyPFN52oPWvzANImGHFce0E/S440yBxYIr152JlRELb0w== - dependencies: - "@aries-framework/core" "0.4.2" - class-transformer "0.5.1" - class-validator "0.14.0" - rxjs "^7.2.0" - -"@aries-framework/tenants@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@aries-framework/tenants/-/tenants-0.4.2.tgz#46f295171093cdbec242804f821f60844a046046" - integrity sha512-dRgneBY4z6YAn9ieNSeLEqhW+H03aFZwnxcnWhJfSGeHKUl0kMPmjCqvpP3NFhdB/rX92U9OOZDruIv2efM2ig== - dependencies: - "@aries-framework/core" "0.4.2" - async-mutex "^0.4.0" - "@astronautlabs/jsonpath@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@astronautlabs/jsonpath/-/jsonpath-1.1.2.tgz#af19bb4a7d13dcfbc60c3c998ee1e73d7c2ddc38" @@ -144,30 +49,27 @@ dependencies: static-eval "2.0.2" -"@ayanworks/credo-polygon-w3c-module@0.0.2-alpha.0": - version "0.0.2-alpha.0" - resolved "https://registry.yarnpkg.com/@ayanworks/credo-polygon-w3c-module/-/credo-polygon-w3c-module-0.0.2-alpha.0.tgz#df88263a0f5bd7bb91392b69fdfbd567414a5e66" - integrity sha512-grmNIzLRE2gF2Kh5oeIyNz923jzoZ4PIE0EqhXCNonbPHducrIG/oaZuzffFb5++Hq0eHoNDOnT2WUMYezpSxw== - dependencies: - "@aries-framework/askar" "0.4.2" - "@aries-framework/core" "0.4.2" - "@ayanworks/polygon-did-registrar" "0.0.16-alpha.12" - "@ayanworks/polygon-did-resolver" "0.0.16-alpha.10" - "@ayanworks/polygon-schema-manager" "0.0.2-alpha.4" - "@sphereon/pex" "^2.2.2" - "@sphereon/pex-models" "^2.1.2" - "@sphereon/ssi-types" "^0.17.5" +"@ayanworks/credo-polygon-w3c-module@0.0.2-alpha.7": + version "0.0.2-alpha.7" + resolved "https://registry.yarnpkg.com/@ayanworks/credo-polygon-w3c-module/-/credo-polygon-w3c-module-0.0.2-alpha.7.tgz#003e09a4249a4618da914d3504ffafb522c74133" + integrity sha512-AK9rBqFYUvV8/VaD/X7b+/simfasbPuUgJCi1L1V4SIc2lJhJ2cxaI8OdEv5V1xBytmBdSC+THfSaKg0py3QRA== + dependencies: + "@ayanworks/polygon-did-registrar" "0.0.16-alpha.16" + "@ayanworks/polygon-did-resolver" "0.0.16-alpha.11" + "@ayanworks/polygon-schema-manager" "0.0.2-alpha.6" + "@credo-ts/askar" "0.5.1" + "@credo-ts/core" "0.5.1" did-resolver "^4.1.0" ethers "^6.9.0" - jsonpath "^1.1.1" -"@ayanworks/polygon-did-registrar@0.0.16-alpha.12": - version "0.0.16-alpha.12" - resolved "https://registry.yarnpkg.com/@ayanworks/polygon-did-registrar/-/polygon-did-registrar-0.0.16-alpha.12.tgz#dce077ca26b926e4ebf8dbfab56583da1adea373" - integrity sha512-DP/KddUXEu36mhEqXgoxfgfnlRGkwcDEtRk+T9YhgmKZ4LAzyrLfU59sWeqTHZ8io7MPFPhhnug8Cm65fQ9pug== +"@ayanworks/polygon-did-registrar@0.0.16-alpha.16": + version "0.0.16-alpha.16" + resolved "https://registry.yarnpkg.com/@ayanworks/polygon-did-registrar/-/polygon-did-registrar-0.0.16-alpha.16.tgz#8467412a8138ffb8b2305bf4ea7914a4ce979267" + integrity sha512-q3Y1bzeHmCAxRpbA6rXKaO9CQhLjlP4aMZuJxYiiicPlQ6plkRt+Icxdp1ozsCEcMouj3l4E5kgzjK48bhOxrw== dependencies: "@ayanworks/polygon-did-registry-contract" "2.0.1-alpha.3" - "@ayanworks/polygon-did-resolver" "^0.0.16-alpha.10" + "@ayanworks/polygon-did-resolver" "^0.0.16-alpha.11" + "@credo-ts/core" "0.5.1" "@ethersproject/basex" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" "@ethersproject/transactions" "^5.7.0" @@ -181,22 +83,22 @@ resolved "https://registry.yarnpkg.com/@ayanworks/polygon-did-registry-contract/-/polygon-did-registry-contract-2.0.1-alpha.3.tgz#7bb932b712a4c48df857682f27adfb08154c4358" integrity sha512-8FZZVAmzXZn0pjZasuxdRblL0obK91JoaoXzpM4oZ7hD5VRUbiWf7BTh17WsWc6Oaf6XtafT4csuBo11fZiUoQ== -"@ayanworks/polygon-did-resolver@0.0.16-alpha.10", "@ayanworks/polygon-did-resolver@^0.0.16-alpha.10", "@ayanworks/polygon-did-resolver@^0.0.16-alpha.3": - version "0.0.16-alpha.10" - resolved "https://registry.yarnpkg.com/@ayanworks/polygon-did-resolver/-/polygon-did-resolver-0.0.16-alpha.10.tgz#85eb53f2f6dd53c5e6342e9d6d0c70bb560fa281" - integrity sha512-RfxDr+bggYcLsdN6nK+VKwjVLZzy3AqGULSsYT2bU+4n8obptufVIDg1cjbI4zi0eQIVmtkUeaHcJMlaR6wvvA== +"@ayanworks/polygon-did-resolver@0.0.16-alpha.11", "@ayanworks/polygon-did-resolver@^0.0.16-alpha.11": + version "0.0.16-alpha.11" + resolved "https://registry.yarnpkg.com/@ayanworks/polygon-did-resolver/-/polygon-did-resolver-0.0.16-alpha.11.tgz#fe115f9a63eea5e0604712549e9c573dcef7d55c" + integrity sha512-rQ6iVz0uht/hLkYA29E2iHN7xW0EusG6ognndBJF0QUxuPBB2kbmcr/4kW1E1m8FJLPvmEX/ed5v0pbBnGSJwA== dependencies: "@ayanworks/polygon-did-registry-contract" "2.0.1-alpha.3" did-resolver "^4.1.0" ethers "^5.1.0" -"@ayanworks/polygon-schema-manager@0.0.2-alpha.4": - version "0.0.2-alpha.4" - resolved "https://registry.yarnpkg.com/@ayanworks/polygon-schema-manager/-/polygon-schema-manager-0.0.2-alpha.4.tgz#cc707d271f89acd6aebcd7f1affb60e1a244d89a" - integrity sha512-1GHN7MNslkiDJXmZtBLGKFUO4rxtmv2vQwIsVjBw9h2zIXw9gtdrymawxt2aEVX3NsRhvB5ojhFqa3z/D7JNqg== +"@ayanworks/polygon-schema-manager@0.0.2-alpha.6": + version "0.0.2-alpha.6" + resolved "https://registry.yarnpkg.com/@ayanworks/polygon-schema-manager/-/polygon-schema-manager-0.0.2-alpha.6.tgz#a872afc1166e39561dba63f0ba83f898376bb874" + integrity sha512-H8W0eS//Q3eDCiwtEqfqPhGW3bRLWOkJU1EYOuiwZGaIuZb4kWbYqAGdgl0s5g0ZP1rjirk4Ztx1w10cWqsZWw== dependencies: "@ayanworks/polygon-did-registry-contract" "2.0.1-alpha.3" - "@ayanworks/polygon-did-resolver" "^0.0.16-alpha.3" + "@ayanworks/polygon-did-resolver" "^0.0.16-alpha.11" "@nomicfoundation/hardhat-verify" "^2.0.3" axios "^1.6.3" did-resolver "^4.1.0" @@ -218,11 +120,24 @@ dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + "@babel/compat-data@^7.22.0": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.3.tgz#cd502a6a0b6e37d7ad72ce7e71a7160a3ae36f7e" integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ== +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd" @@ -244,6 +159,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@^7.14.6": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" + integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.0" + "@babel/parser" "^7.24.0" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/generator@^7.22.0", "@babel/generator@^7.22.3", "@babel/generator@^7.7.2": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.3.tgz#0ff675d2edb93d7596c5f6728b52615cfc0df01e" @@ -254,6 +190,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-compilation-targets@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz#bfcd6b7321ffebe33290d68550e2c9d7eb7c7a58" @@ -265,11 +211,27 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8" integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA== +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + "@babel/helper-function-name@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" @@ -278,6 +240,14 @@ "@babel/template" "^7.20.7" "@babel/types" "^7.21.0" +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" @@ -285,6 +255,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-module-imports@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" @@ -292,6 +269,13 @@ dependencies: "@babel/types" "^7.21.4" +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + "@babel/helper-module-transforms@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz#e0cad47fedcf3cae83c11021696376e2d5a50c63" @@ -306,11 +290,27 @@ "@babel/traverse" "^7.22.1" "@babel/types" "^7.22.0" +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.21.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== +"@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + "@babel/helper-simple-access@^7.21.5": version "7.21.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" @@ -318,6 +318,13 @@ dependencies: "@babel/types" "^7.21.5" +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -325,11 +332,23 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-string-parser@^7.21.5": version "7.21.5" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" @@ -345,6 +364,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + "@babel/helpers@^7.22.0": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.3.tgz#53b74351da9684ea2f694bf0877998da26dd830e" @@ -354,7 +378,16 @@ "@babel/traverse" "^7.22.1" "@babel/types" "^7.22.3" -"@babel/highlight@^7.10.4": +"@babel/helpers@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== @@ -377,6 +410,19 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32" integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== +"@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + +"@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -398,6 +444,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -468,6 +521,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-transform-modules-commonjs@^7.14.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/template@^7.20.7", "@babel/template@^7.21.9", "@babel/template@^7.3.3": version "7.21.9" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb" @@ -477,6 +539,15 @@ "@babel/parser" "^7.21.9" "@babel/types" "^7.21.5" +"@babel/template@^7.22.15", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/traverse@^7.22.1", "@babel/traverse@^7.7.2": version "7.22.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.4.tgz#c3cf96c5c290bd13b55e29d025274057727664c0" @@ -493,6 +564,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4", "@babel/types@^7.3.3": version "7.22.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.4.tgz#56a2653ae7e7591365dabf20b76295410684c071" @@ -502,11 +589,129 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@credo-ts/anoncreds@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/anoncreds/-/anoncreds-0.5.1.tgz#d1ba19e5764e1de5982a0a7e51cd5bc1badce6ad" + integrity sha512-d97wELxvt7jOqgr21FOVfFqHFSu487L+qF0QObOVCl9xElsST9sYl1iaRPHHW2GzYUMWLlnSwZm8fN4pLo9UVA== + dependencies: + "@astronautlabs/jsonpath" "^1.1.2" + "@credo-ts/core" "0.5.1" + big-integer "^1.6.51" + bn.js "^5.2.1" + class-transformer "0.5.1" + class-validator "0.14.1" + reflect-metadata "^0.1.13" + +"@credo-ts/askar@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/askar/-/askar-0.5.1.tgz#107d2f91f6afecb77fc7f24556725ec0e7597989" + integrity sha512-O3XWnmpnEe5U/a0kGQHigzXPw6/SXKp2v4ob3DJdHA0kiK3DywANNeG/Hw44lxdg24nNpizmVlO5EjRa6ULcmw== + dependencies: + "@credo-ts/core" "0.5.1" + bn.js "^5.2.1" + class-transformer "0.5.1" + class-validator "0.14.1" + rxjs "^7.8.0" + tsyringe "^4.8.0" + +"@credo-ts/core@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/core/-/core-0.5.1.tgz#bb38e2f5451753cea1d3a73b1d407255af02c4ed" + integrity sha512-ywwFw6wwiMft3A994Y91LAm8CrEg2G7CJQRyLD8UzneU4coMWZTeED63thAEX6XK/tyDmv2MAcrO04hE3KQPcA== + dependencies: + "@digitalcredentials/jsonld" "^6.0.0" + "@digitalcredentials/jsonld-signatures" "^9.4.0" + "@digitalcredentials/vc" "^6.0.1" + "@multiformats/base-x" "^4.0.1" + "@sd-jwt/core" "^0.2.1" + "@sd-jwt/decode" "^0.2.1" + "@sphereon/pex" "3.3.0" + "@sphereon/pex-models" "^2.2.2" + "@sphereon/ssi-types" "^0.18.1" + "@stablelib/ed25519" "^1.0.2" + "@stablelib/sha256" "^1.0.1" + "@types/ws" "^8.5.4" + abort-controller "^3.0.0" + big-integer "^1.6.51" + borc "^3.0.0" + buffer "^6.0.3" + class-transformer "0.5.1" + class-validator "0.14.1" + did-resolver "^4.1.0" + jsonpath "^1.1.1" + lru_map "^0.4.1" + luxon "^3.3.0" + make-error "^1.3.6" + object-inspect "^1.10.3" + query-string "^7.0.1" + reflect-metadata "^0.1.13" + rxjs "^7.8.0" + tsyringe "^4.8.0" + uuid "^9.0.0" + varint "^6.0.0" + web-did-resolver "^2.0.21" + +"@credo-ts/indy-vdr@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/indy-vdr/-/indy-vdr-0.5.1.tgz#1fe4719235f3e586e770e57aa46bba7182d53c10" + integrity sha512-pXRAKzLlwijaNaCOPheV9dHeZm0FAfiJw9kYEvpjBn+d/ARygb92kr9lJizUGK3cPtF9dbhrNBuLWwskM39fCw== + dependencies: + "@credo-ts/anoncreds" "0.5.1" + "@credo-ts/core" "0.5.1" + +"@credo-ts/node@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/node/-/node-0.5.1.tgz#adf24f931fd80848722f8f313012be00da405deb" + integrity sha512-F/PA3wyKN9MvH2JFSUmYGqQT+JaeSGKWNJxT+OkQzqseCZnCbErAnr8oNWlTwBWogp6ECx31FEn9wMq9zAMLaw== + dependencies: + "@2060.io/ffi-napi" "^4.0.8" + "@2060.io/ref-napi" "^3.0.6" + "@credo-ts/core" "0.5.1" + "@types/express" "^4.17.15" + express "^4.17.1" + ws "^8.13.0" + +"@credo-ts/push-notifications@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@credo-ts/push-notifications/-/push-notifications-0.7.0.tgz#b689194b73542664ff5bb8b3a16dec1abcfc1102" + integrity sha512-3A+IOsK9u6aM2xsRJkEtsKRi4EbdPAEwEJ3vqkmV6jXT2SRGAGu2O4UThmZmS7YlRgkC4N+tMaDHerRBNz7nYA== + dependencies: + class-transformer "0.5.1" + class-validator "0.14.1" + tsyringe "^4.6.0" + +"@credo-ts/question-answer@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/question-answer/-/question-answer-0.5.1.tgz#538dbfec8fc866de188c11ede9860bf0ef712937" + integrity sha512-yPjOl3tUfK5GT9BvX70hiTq86Fi5WTxB0pL42e17evq7+puBOMqhwQ1nv7dhDSWC2Oy+r0D0mF7Lz2hGulrJJg== + dependencies: + "@credo-ts/core" "0.5.1" + class-transformer "0.5.1" + class-validator "0.14.1" + rxjs "^7.8.0" + +"@credo-ts/tenants@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@credo-ts/tenants/-/tenants-0.5.1.tgz#63ca79eb0a6c7d4bdf43ea00ed712d7399c25421" + integrity sha512-+wJ+Wd3rThY6eP9e3WYFeFlJKQEUrmJPhN5t+vr4zyhB5T7pM5Nsg53pzugWoCeWsMUNCqmHo12Tc9edQTH0bg== + dependencies: + "@credo-ts/core" "0.5.1" + async-mutex "^0.4.0" + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -514,11 +719,93 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" +"@digitalbazaar/bitstring@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@digitalbazaar/bitstring/-/bitstring-3.1.0.tgz#bbbacb80eaaa53594723a801879b3a95a0401b11" + integrity sha512-Cii+Sl++qaexOvv3vchhgZFfSmtHPNIPzGegaq4ffPnflVXFu+V2qrJ17aL2+gfLxrlC/zazZFuAltyKTPq7eg== + dependencies: + base64url-universal "^2.0.0" + pako "^2.0.4" + +"@digitalbazaar/http-client@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@digitalbazaar/http-client/-/http-client-3.4.1.tgz#5116fc44290d647cfe4b615d1f3fad9d6005e44d" + integrity sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g== + dependencies: + ky "^0.33.3" + ky-universal "^0.11.0" + undici "^5.21.2" + "@digitalbazaar/security-context@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@digitalbazaar/security-context/-/security-context-1.0.0.tgz#23624692cfadc6d97e1eb787ad38a19635d89297" integrity sha512-mlj+UmodxTAdMCHGxnGVTRLHcSLyiEOVRiz3J6yiRliJWyrgeXs34wlWjBorDIEMDIjK2JwZrDuFEKO9bS5nKQ== +"@digitalbazaar/vc-status-list-context@^3.0.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list-context/-/vc-status-list-context-3.1.1.tgz#cbe570d8d6d39d7b636bf1fce3c5601e2d104696" + integrity sha512-cMVtd+EV+4KN2kUG4/vsV74JVsGE6dcpod6zRoFB/AJA2W/sZbJqR44KL3G6P262+GcAECNhtnSsKsTnQ6y8+w== + +"@digitalbazaar/vc-status-list@^7.0.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@digitalbazaar/vc-status-list/-/vc-status-list-7.1.0.tgz#1d585a1766106e1586e1e2f87092dd0381b3f036" + integrity sha512-p5uxKJlX13N8TcTuv9qFDeej+6bndU+Rh1Cez2MT+bXQE6Jpn5t336FBSHmcECB4yUfZQpkmV/LOcYU4lW8Ojw== + dependencies: + "@digitalbazaar/bitstring" "^3.0.0" + "@digitalbazaar/vc" "^5.0.0" + "@digitalbazaar/vc-status-list-context" "^3.0.1" + credentials-context "^2.0.0" + +"@digitalbazaar/vc@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@digitalbazaar/vc/-/vc-5.0.0.tgz#20180fb492cb755eb2c6b6df9a17f7407d5e4b5a" + integrity sha512-XmLM7Ag5W+XidGnFuxFIyUFSMnHnWEMJlHei602GG94+WzFJ6Ik8txzPQL8T18egSoiTsd1VekymbIlSimhuaQ== + dependencies: + credentials-context "^2.0.0" + jsonld "^8.0.0" + jsonld-signatures "^11.0.0" + +"@digitalcredentials/base58-universal@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@digitalcredentials/base58-universal/-/base58-universal-1.0.1.tgz#41b5a16cdeaac9cf01b23f1e564c560c2599b607" + integrity sha512-1xKdJnfITMvrF/sCgwBx2C4p7qcNAARyIvrAOZGqIHmBaT/hAenpC8bf44qVY+UIMuCYP23kqpIfJQebQDThDQ== + +"@digitalcredentials/base64url-universal@^2.0.2": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@digitalcredentials/base64url-universal/-/base64url-universal-2.0.6.tgz#43c59c62a33b024e7adc3c56403d18dbcb61ec61" + integrity sha512-QJyK6xS8BYNnkKLhEAgQc6Tb9DMe+GkHnBAWJKITCxVRXJAFLhJnr+FsJnCThS3x2Y0UiiDAXoWjwMqtUrp4Kg== + dependencies: + base64url "^3.0.1" + +"@digitalcredentials/bitstring@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@digitalcredentials/bitstring/-/bitstring-2.0.1.tgz#bb887f1d0999980598754e426d831c96a26a3863" + integrity sha512-9priXvsEJGI4LYHPwLqf5jv9HtQGlG0MgeuY8Q4NHN+xWz5rYMylh1TYTVThKa3XI6xF2pR2oEfKZD21eWXveQ== + dependencies: + "@digitalcredentials/base64url-universal" "^2.0.2" + pako "^2.0.4" + +"@digitalcredentials/ed25519-signature-2020@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@digitalcredentials/ed25519-signature-2020/-/ed25519-signature-2020-3.0.2.tgz#2df8fb6f814a1964b40ebb3402d41630c30120da" + integrity sha512-R8IrR21Dh+75CYriQov3nVHKaOVusbxfk9gyi6eCAwLHKn6fllUt+2LQfuUrL7Ts/sGIJqQcev7YvkX9GvyYRA== + dependencies: + "@digitalcredentials/base58-universal" "^1.0.1" + "@digitalcredentials/ed25519-verification-key-2020" "^3.1.1" + "@digitalcredentials/jsonld-signatures" "^9.3.1" + ed25519-signature-2018-context "^1.1.0" + ed25519-signature-2020-context "^1.0.1" + +"@digitalcredentials/ed25519-verification-key-2020@^3.1.1": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@digitalcredentials/ed25519-verification-key-2020/-/ed25519-verification-key-2020-3.2.2.tgz#cdf271bf4bb44dd2c417dcde6d7a0436e31d84ca" + integrity sha512-ZfxNFZlA379MZpf+gV2tUYyiZ15eGVgjtCQLWlyu3frWxsumUgv++o0OJlMnrDsWGwzFMRrsXcosd5+752rLOA== + dependencies: + "@digitalcredentials/base58-universal" "^1.0.1" + "@stablelib/ed25519" "^1.0.1" + base64url-universal "^1.1.0" + crypto-ld "^6.0.0" + "@digitalcredentials/http-client@^1.0.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@digitalcredentials/http-client/-/http-client-1.2.2.tgz#8b09ab6f1e3aa8878d91d3ca51946ca8265cc92e" @@ -538,6 +825,17 @@ isomorphic-webcrypto "^2.3.8" serialize-error "^8.0.1" +"@digitalcredentials/jsonld-signatures@^9.3.2", "@digitalcredentials/jsonld-signatures@^9.4.0": + version "9.4.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld-signatures/-/jsonld-signatures-9.4.0.tgz#d5881122c4202449b88a7e2384f8e615ae55582c" + integrity sha512-DnR+HDTm7qpcDd0wcD1w6GdlAwfHjQSgu+ahion8REkCkkMRywF+CLunU7t8AZpFB2Gr/+N8naUtiEBNje1Oew== + dependencies: + "@digitalbazaar/security-context" "^1.0.0" + "@digitalcredentials/jsonld" "^6.0.0" + fast-text-encoding "^1.0.3" + isomorphic-webcrypto "^2.3.8" + serialize-error "^8.0.1" + "@digitalcredentials/jsonld@^5.2.1": version "5.2.1" resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld/-/jsonld-5.2.1.tgz#60acf587bec8331e86324819fd19692939118775" @@ -548,6 +846,21 @@ canonicalize "^1.0.1" lru-cache "^6.0.0" +"@digitalcredentials/jsonld@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/jsonld/-/jsonld-6.0.0.tgz#05d34cb1d81c4bbdfacf61f8958bbaede33be598" + integrity sha512-5tTakj0/GsqAJi8beQFVMQ97wUJZnuxViW9xRuAATL6eOBIefGBwHkVryAgEq2I4J/xKgb/nEyw1ZXX0G8wQJQ== + dependencies: + "@digitalcredentials/http-client" "^1.0.0" + "@digitalcredentials/rdf-canonize" "^1.0.0" + canonicalize "^1.0.1" + lru-cache "^6.0.0" + +"@digitalcredentials/open-badges-context@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/open-badges-context/-/open-badges-context-2.1.0.tgz#cefd29af4642adf8feeed5bb7ede663b14913c2f" + integrity sha512-VK7X5u6OoBFxkyIFplNqUPVbo+8vFSAEoam8tSozpj05KPfcGw41Tp5p9fqMnY38oPfwtZR2yDNSctj/slrE0A== + "@digitalcredentials/rdf-canonize@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@digitalcredentials/rdf-canonize/-/rdf-canonize-1.0.0.tgz#6297d512072004c2be7f280246383a9c4b0877ff" @@ -556,15 +869,39 @@ fast-text-encoding "^1.0.3" isomorphic-webcrypto "^2.3.8" -"@digitalcredentials/vc@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@digitalcredentials/vc/-/vc-1.1.2.tgz#868a56962f5137c29eb51eea1ba60251ebf69ad1" - integrity sha512-TSgny9XUh+W7uFjdcpvZzN7I35F9YMTv6jVINXr7UaLNgrinIjy6A5RMGQH9ecpcaoLMemKB5XjtLOOOQ3vknQ== +"@digitalcredentials/vc-status-list@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@digitalcredentials/vc-status-list/-/vc-status-list-5.0.2.tgz#9de8b23b6d533668a354ff464a689ecc42f24445" + integrity sha512-PI0N7SM0tXpaNLelbCNsMAi34AjOeuhUzMSYTkHdeqRPX7oT2F3ukyOssgr4koEqDxw9shHtxHu3fSJzrzcPMQ== + dependencies: + "@digitalbazaar/vc-status-list-context" "^3.0.1" + "@digitalcredentials/bitstring" "^2.0.1" + "@digitalcredentials/vc" "^4.1.1" + credentials-context "^2.0.0" + +"@digitalcredentials/vc@^4.1.1": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@digitalcredentials/vc/-/vc-4.2.0.tgz#d2197b26547d670965d5969a9e49437f244b5944" + integrity sha512-8Rxpn77JghJN7noBQdcMuzm/tB8vhDwPoFepr3oGd5w+CyJxOk2RnBlgIGlAAGA+mALFWECPv1rANfXno+hdjA== dependencies: "@digitalcredentials/jsonld" "^5.2.1" "@digitalcredentials/jsonld-signatures" "^9.3.1" credentials-context "^2.0.0" +"@digitalcredentials/vc@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@digitalcredentials/vc/-/vc-6.0.1.tgz#e4bdbac37d677c5288f2ad8d9ea59c3b41e0fd78" + integrity sha512-TZgLoi00Jc9uv3b6jStH+G8+bCqpHIqFw9DYODz+fVjNh197ksvcYqSndUDHa2oi0HCcK+soI8j4ba3Sa4Pl4w== + dependencies: + "@digitalbazaar/vc-status-list" "^7.0.0" + "@digitalcredentials/ed25519-signature-2020" "^3.0.2" + "@digitalcredentials/jsonld" "^6.0.0" + "@digitalcredentials/jsonld-signatures" "^9.3.2" + "@digitalcredentials/open-badges-context" "^2.1.0" + "@digitalcredentials/vc-status-list" "^5.0.2" + credentials-context "^2.0.0" + fix-esm "^1.0.1" + "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -939,6 +1276,18 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.0.tgz#0709e9f4cb252351c609c6e6d8d6779a8d25edff" integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA== +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -953,61 +1302,59 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@hyperledger/anoncreds-nodejs@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-nodejs/-/anoncreds-nodejs-0.1.0.tgz#925f4004af85e772a3ee55f240b281148cbfb6e6" - integrity sha512-5Z0+nRQow7mcaRim4HncB8GzZr9KZl4a1snUfA/0mrK+eVncFCj13vcr9HnIwAfEOWn7OdHsK44Jy7tHRbYJww== +"@hyperledger/anoncreds-nodejs@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-nodejs/-/anoncreds-nodejs-0.2.1.tgz#7dbde3e878758371e4d44542daa7f54ecf48f38e" + integrity sha512-wfQEVSqYHq6mQFTLRMVayyi8kbHlz3RGEIe10JOQSHCw4ZCTifQ1XuVajSwOj8ykNYwxuckcfNikJtJScs7l+w== dependencies: - "@hyperledger/anoncreds-shared" "0.1.0" - "@mapbox/node-pre-gyp" "^1.0.10" - ffi-napi "4.0.3" - node-cache "5.1.2" + "@2060.io/ffi-napi" "4.0.8" + "@2060.io/ref-napi" "3.0.6" + "@hyperledger/anoncreds-shared" "0.2.1" + "@mapbox/node-pre-gyp" "^1.0.11" ref-array-di "1.2.2" - ref-napi "3.0.3" ref-struct-di "1.1.1" -"@hyperledger/anoncreds-shared@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-shared/-/anoncreds-shared-0.1.0.tgz#947c602c385bfa79b63849c9e48b51cc9d41d820" - integrity sha512-DisZFY4YbrugRCCv7AtYFUTsrGigHF1dVaiA36WrhRUgetwDzKgMiYGkxFQmCe0IJ0mDw4M7sbTJBXxfxij/+A== +"@hyperledger/anoncreds-shared@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-shared/-/anoncreds-shared-0.2.1.tgz#7a8be78473e8cdd33b73ccdf2e9b838226aef0f9" + integrity sha512-QpkmsiDBto4B3MS7+tJKn8DHCuhaZuzPKy+SoSAIH8wrjBmQ4NQqzMBZXs0z0JnNr1egkIFR3HIFsIu9ayK20g== -"@hyperledger/aries-askar-nodejs@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-nodejs/-/aries-askar-nodejs-0.1.1.tgz#93d59cec0a21aae3e06ce6149a2424564a0e3238" - integrity sha512-mgTioLL22Q+Ie8RMY446bRtp/+D3rskhKJuW/qZUOinb8w8t0JKrFSfCr3OBs0/FVsm7cBN9ZqJdJY0+0BkVhQ== +"@hyperledger/aries-askar-nodejs@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-nodejs/-/aries-askar-nodejs-0.2.0.tgz#7a0b469184f0682d0e31955e29d091956f662273" + integrity sha512-d73D2zK1f1cM5y8MFp4BK+NvkquujDlRr91THpxkuRwmLf407gibOY3G4OdGIkL1kQtorGM5c5U0/qMzW+8E1Q== dependencies: - "@hyperledger/aries-askar-shared" "0.1.1" + "@2060.io/ffi-napi" "4.0.8" + "@2060.io/ref-napi" "3.0.6" + "@hyperledger/aries-askar-shared" "0.2.0" "@mapbox/node-pre-gyp" "^1.0.10" - ffi-napi "^4.0.3" node-cache "^5.1.2" ref-array-di "^1.2.2" - ref-napi "^3.0.3" ref-struct-di "^1.1.1" -"@hyperledger/aries-askar-shared@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-shared/-/aries-askar-shared-0.1.1.tgz#bdb34ad718e988db5a47d540fd22ba2c7a86a1d3" - integrity sha512-9jJSgqHt29JEuQ/tBzHmhWaSLyTyw/t7H+Ell/YSHtL9DE0KN0Ew/vuXoDqlt117+EBeQTDKG0hy0ov8K41rmw== +"@hyperledger/aries-askar-shared@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-shared/-/aries-askar-shared-0.2.0.tgz#9291733f8fa1e3039dfe36e1fabca1819b93bd1b" + integrity sha512-A6bHbTwTtV1YT3XphNFltX34DCBtj7qPyip4R+WAQFnus5286a2xsppNvl5OAPMAxgKjQTdyFBqcYaNRc0lqIQ== dependencies: - fast-text-encoding "^1.0.3" + buffer "^6.0.3" -"@hyperledger/indy-vdr-nodejs@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@hyperledger/indy-vdr-nodejs/-/indy-vdr-nodejs-0.1.0.tgz#a006393e3ecb1a4661bbd52299b796247e8bde47" - integrity sha512-XNPy4fygp3vf4cLK36n2Ap8BnIsR5Ic+9sbtHrtQA6tAhrL9Zq8foaYPW8XDeZ6OlEWdViNRYIKGkR1w0zuLJw== +"@hyperledger/indy-vdr-nodejs@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@hyperledger/indy-vdr-nodejs/-/indy-vdr-nodejs-0.2.0.tgz#c5fd2c211d5a2b2a0637efa6b9636b208d919c06" + integrity sha512-yv+p0mU9NBUgmUDJijNgxtLonhzhDP54wRl4Mfn/s/ZyzLbEQakswmqa2sX0mYQDTLG14iq5uEN6d0eRzUtDeg== dependencies: - "@hyperledger/indy-vdr-shared" "0.1.0" + "@2060.io/ffi-napi" "4.0.8" + "@2060.io/ref-napi" "3.0.6" + "@hyperledger/indy-vdr-shared" "0.2.0" "@mapbox/node-pre-gyp" "^1.0.10" - "@types/ref-array-di" "^1.2.5" - ffi-napi "^4.0.3" ref-array-di "^1.2.2" - ref-napi "^3.0.3" ref-struct-di "^1.1.1" -"@hyperledger/indy-vdr-shared@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@hyperledger/indy-vdr-shared/-/indy-vdr-shared-0.1.0.tgz#f8023a2d25ca9395ec2fd0e6a0dfbda6459fab03" - integrity sha512-VfGraHX6RMmNcF4WYD5F1anjJzPN7KSrj5GP3g0hCrdXMDXEtO8t1lHQLVfrBgdjhR7gE82Nx+ZAYlGnTxoE+A== +"@hyperledger/indy-vdr-shared@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@hyperledger/indy-vdr-shared/-/indy-vdr-shared-0.2.0.tgz#4781e38bffe69366e694e8d025a8d017b8a1cb5b" + integrity sha512-/aPzpzb6Wks7poRSercSp6f3mFOBoQmxSIyo50XO6ci/Jfa4ZGuV8y8YWU2SJktsdz4TtL5YJxt2WVfOus9bEQ== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -1256,7 +1603,7 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" -"@mapbox/node-pre-gyp@^1.0.10": +"@mapbox/node-pre-gyp@^1.0.10", "@mapbox/node-pre-gyp@^1.0.11": version "1.0.11" resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== @@ -1356,6 +1703,91 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@sd-jwt/core@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.2.1.tgz#75b0b273758e6be050e042a75bd6a0c4a2a7258e" + integrity sha512-8auyt3mfzgAK+IP9mNc3kSONdo5x2Y8ypNj5gHKP7N81nVeyI+DHethoPQv84JVcqYYcNwHwyrc2Z5k7rg2lFQ== + dependencies: + "@sd-jwt/decode" "0.2.1" + "@sd-jwt/present" "0.2.1" + "@sd-jwt/types" "0.2.1" + "@sd-jwt/utils" "0.2.1" + +"@sd-jwt/decode@0.2.1", "@sd-jwt/decode@^0.2.0", "@sd-jwt/decode@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.2.1.tgz#e0fb32dd2a95440ad69237e66ea2cd4770ec7e09" + integrity sha512-rs55WB3llrMObxN8jeMl06km/h0WivO9jSWNubO9JUIdlfrVhssU38xoXakvQeSDjAJkUUhfZcvmC2vNo1X6Wg== + dependencies: + "@sd-jwt/types" "0.2.1" + "@sd-jwt/utils" "0.2.1" + +"@sd-jwt/decode@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.3.0.tgz#23627ce1b7c678a6ac685d7241e7f64e18bd9a8c" + integrity sha512-jCN1g3VzopiUxUtBZWq0Ojfzbg+wYkE1/gV86Xq7/gV8aNacCJo7Su5a3pYtoYg/rnH7ou1kwpD6vteQFkvXMQ== + dependencies: + "@sd-jwt/types" "0.3.0" + "@sd-jwt/utils" "0.3.0" + +"@sd-jwt/present@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.2.1.tgz#ff9958626b271a60d539dd1e601763ff33c024e8" + integrity sha512-yWIAR2C/q1jNUwzAeUlUcf3WCTEcSSGo9pltHW5AXptELjyaWGSmC5p6o9ucDXHvBnicfPONhe5OdUCSpiCntw== + dependencies: + "@sd-jwt/types" "0.2.1" + "@sd-jwt/utils" "0.2.1" + +"@sd-jwt/present@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.3.0.tgz#e054f66c0ec9c339570ec028e0f2291d75c279e3" + integrity sha512-dICPhH5hqOLXmuJMdTaA47ZMpCDkTzbWUQXsIgw0vma7Aj9Bc6ySNevPwlsUx4K8XBjPgYWwBM9tKdrs3tsCvQ== + dependencies: + "@sd-jwt/types" "0.3.0" + "@sd-jwt/utils" "0.3.0" + +"@sd-jwt/types@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.2.1.tgz#e1e6b47728dffa90ed244e15e2253bd01793cb96" + integrity sha512-nbNik/cq6UIMsN144FcgPZQzaqIsjEEj307j3ZSFORkQBR4Tsmcj54aswTuNh0Z0z/4aSbfw14vOKBZvRWyVLQ== + +"@sd-jwt/types@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.3.0.tgz#12f2fa7b448f1f5e368ddfac8db2143ed58c38f7" + integrity sha512-JbpZICZ+nWPiKPKw+Veg5tf0Oftit4EzxhLJyvcd0u4R6IulNZvi6LCoUL7b2IT1H86eYPd/qB1KvSh43ByZOA== + +"@sd-jwt/utils@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.2.1.tgz#35ad83232eab2de911e765d93222acd871982a5e" + integrity sha512-9eRrge44dhE3fenawR/RZGxP5iuW9DtgdOVANu/JK5PEl80r0fDsMwm/gDjuv8OgLDCmQ6uSaVte1lYaTG71bQ== + dependencies: + "@sd-jwt/types" "0.2.1" + buffer "*" + +"@sd-jwt/utils@0.3.0", "@sd-jwt/utils@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.3.0.tgz#73ce9809ccc98b35d5a6d1bf1ed34758bcdfb39d" + integrity sha512-jQNYxvyfLda9StVLeUqUZtv5csI6IuzcD6b55/wsC9xJgTuntZqf8vyJvuu4MwEJUFwm9PdGkCJXyl/nbpmNLw== + dependencies: + "@sd-jwt/types" "0.3.0" + buffer "*" + +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + "@sindresorhus/is@^4.0.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" @@ -1380,30 +1812,34 @@ resolved "https://registry.yarnpkg.com/@sovpro/delimited-stream/-/delimited-stream-1.1.0.tgz#4334bba7ee241036e580fdd99c019377630d26b4" integrity sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw== -"@sphereon/pex-models@^2.1.2": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.0.tgz#32013fff43d4f47df03e213792a9bcc6866a1f06" - integrity sha512-dGDRdoxJj+P0TRqu0R8R0/IdIzrCya1MsnxIFbcmSW3rjPsbwXbV0EojEfxXGD5LhqsUJiuAffMtyE2dtVI/XQ== - -"@sphereon/pex@^2.2.2": +"@sphereon/pex-models@^2.2.2": version "2.2.2" - resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-2.2.2.tgz#3df9ed75281b46f0899256774060ed2ff982fade" - integrity sha512-NkR8iDTC2PSnYsOHlG2M2iOpFTTbzszs2/pL3iK3Dlv9QYLqX7NtPAlmeSwaoVP1NB1ewcs6U1DtemQAD+90yQ== + resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.2.tgz#3f8b12c49d8fab7372b4b47eae5bcbf8729cccba" + integrity sha512-CZIsBoaV5rMZEWYBsmH+RxsdoxpXf5FSDwDz0GB0qOf5WFk1BGUnzpZzi5yJ+2L151mhPk97dlRc9Wb01Awr4Q== + +"@sphereon/pex@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-3.3.0.tgz#86384f7ee6e5a966b98d3e8010a27e93eb144317" + integrity sha512-CNthF/6dlIECqTqdOWGD5HOT72OWjzKTFVuFGmSbgOqsEtEtGU0e0g0gYbvXWNm0hYKsyFgS5XIZ1Uj3NR5UMg== dependencies: "@astronautlabs/jsonpath" "^1.1.2" - "@sphereon/pex-models" "^2.1.2" - "@sphereon/ssi-types" "^0.17.5" + "@sd-jwt/decode" "^0.3.0" + "@sd-jwt/present" "^0.3.0" + "@sd-jwt/utils" "^0.3.0" + "@sphereon/pex-models" "^2.2.2" + "@sphereon/ssi-types" "0.18.1" ajv "^8.12.0" ajv-formats "^2.1.1" jwt-decode "^3.1.2" - nanoid "^3.3.6" - string.prototype.matchall "^4.0.8" + nanoid "^3.3.7" + string.prototype.matchall "^4.0.10" -"@sphereon/ssi-types@^0.17.5": - version "0.17.5" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.17.5.tgz#7b4de0326e7c2993ab816caeef6deaea41a5f65f" - integrity sha512-hoQOkeOtshvIzNAG+HTqcKxeGssLVfwX7oILHJgs6VMb1GhR6QlqjMAxflDxZ/8Aq2R0I6fEPWmf73zAXY2X2Q== +"@sphereon/ssi-types@0.18.1", "@sphereon/ssi-types@^0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.18.1.tgz#c00e4939149f4e441fae56af860735886a4c33a5" + integrity sha512-uM0gb1woyc0R+p+qh8tVDi15ZWmpzo9BP0iBp/yRkJar7gAfgwox/yvtEToaH9jROKnDCwL3DDQCDeNucpMkwg== dependencies: + "@sd-jwt/decode" "^0.2.0" jwt-decode "^3.1.2" "@stablelib/binary@^1.0.1": @@ -1413,7 +1849,7 @@ dependencies: "@stablelib/int" "^1.0.1" -"@stablelib/ed25519@^1.0.2": +"@stablelib/ed25519@^1.0.1", "@stablelib/ed25519@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== @@ -1432,7 +1868,7 @@ resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": +"@stablelib/random@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== @@ -1674,11 +2110,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/jsonpath@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@types/jsonpath/-/jsonpath-0.2.4.tgz#065be59981c1420832835af656377622271154be" - integrity sha512-K3hxB8Blw0qgW6ExKgMbXQv2UPZBoE2GqLpVY+yr7nMD2Pq86lsuIzyAaiQ7eMqFL5B6di6pxSkogLJEyEHoGA== - "@types/jsonwebtoken@^9.0.5": version "9.0.5" resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588" @@ -1717,21 +2148,13 @@ dependencies: "@types/express" "*" -"@types/node-fetch@2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - "@types/node-fetch@^2.6.4": - version "2.6.4" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660" - integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg== + version "2.6.11" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" + integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== dependencies: "@types/node" "*" - form-data "^3.0.0" + form-data "^4.0.0" "@types/node@*": version "20.2.5" @@ -1743,10 +2166,12 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== -"@types/node@^16.7.10": - version "16.18.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.34.tgz#62d2099b30339dec4b1b04a14c96266459d7c8b2" - integrity sha512-VmVm7gXwhkUimRfBwVI1CHhwp86jDWR04B5FGebMMyxV90SlCmFujwUHrxTD4oO+SOYU86SoxvhgeRQJY7iXFg== +"@types/node@^18.18.8": + version "18.19.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.24.tgz#707d8a4907e55901466e60e8f7a62bc6197ace95" + integrity sha512-eghAz3gnbQbvnHqB+mgB2ZR3aH6RhdEmHGS48BnV75KceQPHqabkxKI0BbUSsqhqy2Ddhc2xD/VAR9ySZd57Lw== + dependencies: + undici-types "~5.26.4" "@types/node@^8.10.50": version "8.10.66" @@ -1768,7 +2193,7 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/ref-array-di@^1.2.5": +"@types/ref-array-di@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@types/ref-array-di/-/ref-array-di-1.2.8.tgz#2b44567b8eaae72c59db68a482f5d26297e955be" integrity sha512-+re5xrhRXDUR3sicMvN9N3C+6mklq5kd7FkN3ciRWio3BAvUDh2OEUTTG+619r10dqc6de25LIDtgpHtXCKGbA== @@ -1860,17 +2285,10 @@ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== -"@types/validator@^13.7.10": - version "13.7.17" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.7.17.tgz#0a6d1510395065171e3378a4afc587a3aefa7cc1" - integrity sha512-aqayTNmeWrZcvnG2MG9eGYI6b7S5fl+yKgPs6bAjOTwPS316R5SxBGKvtSExfyoJU7pIeHJfsHI0Ji41RVMkvQ== - -"@types/ws@^7.4.7": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" +"@types/validator@^13.11.8": + version "13.11.9" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.9.tgz#adfe96520b437a0eaa798a475877bf2f75ee402d" + integrity sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw== "@types/ws@^8.5.4": version "8.5.4" @@ -2420,6 +2838,25 @@ base64-js@*, base64-js@^1.3.0, base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +base64url-universal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/base64url-universal/-/base64url-universal-1.1.0.tgz#94da6356c1d43ead55b1d91c045c0a5b09ec8181" + integrity sha512-WyftvZqye29YQ10ZnuiBeEj0lk8SN8xHU9hOznkLc85wS1cLTp6RpzlMrHxMPD9nH7S55gsBqMqgGyz93rqmkA== + dependencies: + base64url "^3.0.0" + +base64url-universal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64url-universal/-/base64url-universal-2.0.0.tgz#6023785c0e349a90de1cf396e8a4519750a4e67b" + integrity sha512-6Hpg7EBf3t148C3+fMzjf+CHnADVDafWzlJUXAqqqbm4MKNXbsoPdOkWeRTjNlkYG7TpyjIpRO1Gk0SnsFD1rw== + dependencies: + base64url "^3.0.1" + +base64url@^3.0.0, base64url@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" @@ -2541,6 +2978,16 @@ browserslist@^4.21.3: node-releases "^2.0.12" update-browserslist-db "^1.0.11" +browserslist@^4.22.2: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -2570,7 +3017,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^6.0.3: +buffer@*, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -2649,6 +3096,11 @@ caniuse-lite@^1.0.30001489: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001495.tgz#64a0ccef1911a9dcff647115b4430f8eff1ef2d9" integrity sha512-F6x5IEuigtUfU5ZMQK2jsy5JqUUlEFRVZq8bO2a+ysq5K7jD6PPc9YXZj78xDNS3uNchesp1Jw47YXEqr+Viyg== +caniuse-lite@^1.0.30001587: + version "1.0.30001597" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz#8be94a8c1d679de23b22fbd944232aa1321639e6" + integrity sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w== + canonicalize@^1.0.1: version "1.0.8" resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-1.0.8.tgz#24d1f1a00ed202faafd9bf8e63352cd4450c6df1" @@ -2718,19 +3170,19 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== -class-transformer@0.5.1, class-transformer@^0.5.1: +class-transformer@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336" integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw== -class-validator@0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/class-validator/-/class-validator-0.14.0.tgz#40ed0ecf3c83b2a8a6a320f4edb607be0f0df159" - integrity sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A== +class-validator@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/class-validator/-/class-validator-0.14.1.tgz#ff2411ed8134e9d76acfeb14872884448be98110" + integrity sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ== dependencies: - "@types/validator" "^13.7.10" - libphonenumber-js "^1.10.14" - validator "^13.7.0" + "@types/validator" "^13.11.8" + libphonenumber-js "^1.10.53" + validator "^13.9.0" cliui@^7.0.2: version "7.0.4" @@ -2855,6 +3307,11 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -2904,6 +3361,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypto-ld@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/crypto-ld/-/crypto-ld-6.0.0.tgz#cf8dcf566cb3020bdb27f0279e6cc9b46d031cd7" + integrity sha512-XWL1LslqggNoaCI/m3I7HcvaSt9b2tYzdrXO+jHLUj9G1BvRfvV7ZTFDVY5nifYuIGAPdAGu7unPxLRustw3VA== + cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -2934,6 +3396,11 @@ data-uri-to-buffer@^3.0.1: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -2950,7 +3417,7 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.4: +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -3136,6 +3603,16 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" +ed25519-signature-2018-context@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ed25519-signature-2018-context/-/ed25519-signature-2018-context-1.1.0.tgz#68002ea7497c32e8170667cfd67468dedf7d220e" + integrity sha512-ppDWYMNwwp9bploq0fS4l048vHIq41nWsAbPq6H4mNVx9G/GxW3fwg4Ln0mqctP13MoEpREK7Biz8TbVVdYXqA== + +ed25519-signature-2020-context@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ed25519-signature-2020-context/-/ed25519-signature-2020-context-1.1.0.tgz#b2f724f07db154ddf0fd6605410d88736e56fd07" + integrity sha512-dBGSmoUIK6h2vadDctrDnhhTO01PR2hJk0mRNEfrRDPCjaIwrfy4J+eziEQ9Q1m8By4f/CSRgKM1h53ydKfdNg== + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -3146,6 +3623,11 @@ electron-to-chromium@^1.4.411: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.421.tgz#2b8c0ef98ba00d4aef4c664933d570922da52161" integrity sha512-wZOyn3s/aQOtLGAwXMZfteQPN68kgls2wDAnYOA8kCjBvKVrW5RwmWVspxJYTqrcN7Y263XJVsC66VCIGzDO3g== +electron-to-chromium@^1.4.668: + version "1.4.704" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.704.tgz#218696fc0b1cb42298b9ae0612d9c4ffd6f8500e" + integrity sha512-OK01+86Qvby1V6cTiowVbhp25aX4DLZnwar+NocAOXdzKAByd+jq5156bmo4kHwevWMknznW18Y/Svfk2dU91A== + elliptic@6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -3799,17 +4281,13 @@ fetch-blob@^2.1.1: resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.2.tgz#a7805db1361bd44c1ef62bb57fb5fe8ea173ef3c" integrity sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow== -ffi-napi@4.0.3, ffi-napi@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/ffi-napi/-/ffi-napi-4.0.3.tgz#27a8d42a8ea938457154895c59761fbf1a10f441" - integrity sha512-PMdLCIvDY9mS32RxZ0XGb95sonPRal8aqRhLbeEtWKZTe2A87qRFG9HjOhvG8EX2UmQw5XNRMIOT+1MYlWmdeg== +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== dependencies: - debug "^4.1.1" - get-uv-event-loop-napi-h "^1.0.5" - node-addon-api "^3.0.0" - node-gyp-build "^4.2.1" - ref-napi "^2.0.1 || ^3.0.2" - ref-struct-di "^1.1.0" + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" file-entry-cache@^6.0.1: version "6.0.1" @@ -3866,6 +4344,15 @@ find-yarn-workspace-root@^2.0.0: dependencies: micromatch "^4.0.2" +fix-esm@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fix-esm/-/fix-esm-1.0.1.tgz#e0e2199d841e43ff7db9b5f5ba7496bc45130ebb" + integrity sha512-EZtb7wPXZS54GaGxaWxMlhd1DUDCnAg5srlYdu/1ZVeW+7wwR3Tp59nu52dXByFs3MBRq+SByx1wDOJpRvLEXw== + dependencies: + "@babel/core" "^7.14.6" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.14.5" + flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -3918,6 +4405,13 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + formidable@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" @@ -5119,6 +5613,17 @@ jest@^27.3.1: import-local "^3.0.2" jest-cli "^27.5.1" +joi@^17.12.3: + version "17.12.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.3.tgz#944646979cd3b460178547b12ba37aca8482f63d" + integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + js-sha3@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -5217,7 +5722,7 @@ json-text-sequence@~0.3.0: dependencies: "@sovpro/delimited-stream" "^1.1.0" -json5@2.x, json5@^2.2.2: +json5@2.x, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -5243,6 +5748,25 @@ jsonify@^0.0.1: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== +jsonld-signatures@^11.0.0: + version "11.2.1" + resolved "https://registry.yarnpkg.com/jsonld-signatures/-/jsonld-signatures-11.2.1.tgz#e2ff23ac7476fcdb92e5fecd9a1734ceaf904bb0" + integrity sha512-RNaHTEeRrX0jWeidPCwxMq/E/Ze94zFyEZz/v267ObbCHQlXhPO7GtkY6N5PSHQfQhZPXa8NlMBg5LiDF4dNbA== + dependencies: + "@digitalbazaar/security-context" "^1.0.0" + jsonld "^8.0.0" + serialize-error "^8.1.0" + +jsonld@^8.0.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-8.3.2.tgz#7033f8994aed346b536e9046025f7f1fe9669934" + integrity sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA== + dependencies: + "@digitalbazaar/http-client" "^3.4.1" + canonicalize "^1.0.1" + lru-cache "^6.0.0" + rdf-canonize "^3.4.0" + jsonpath@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" @@ -5334,6 +5858,14 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +ky-universal@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/ky-universal/-/ky-universal-0.11.0.tgz#f5edf857865aaaea416a1968222148ad7d9e4017" + integrity sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw== + dependencies: + abort-controller "^3.0.0" + node-fetch "^3.2.10" + ky-universal@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/ky-universal/-/ky-universal-0.8.2.tgz#edc398d54cf495d7d6830aa1ab69559a3cc7f824" @@ -5347,6 +5879,11 @@ ky@^0.25.1: resolved "https://registry.yarnpkg.com/ky/-/ky-0.25.1.tgz#0df0bd872a9cc57e31acd5dbc1443547c881bfbc" integrity sha512-PjpCEWlIU7VpiMVrTwssahkYXX1by6NCT0fhTUX34F3DTinARlgMpriuroolugFPcMgpPWrOW4mTb984Qm1RXA== +ky@^0.33.3: + version "0.33.3" + resolved "https://registry.yarnpkg.com/ky/-/ky-0.33.3.tgz#bf1ad322a3f2c3428c13cfa4b3af95e6c4a2f543" + integrity sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw== + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -5368,10 +5905,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -libphonenumber-js@^1.10.14: - version "1.10.34" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.34.tgz#63374bb988688ac28b03ed6c4b344d412199d56c" - integrity sha512-p6g4NaQH4gK1gre32+kV14Mk6GPo2EDcPDvjbi+D2ycsPFsN4gVWNbs0itdHLZqByg6YEK8mE7OeP200I/ScTQ== +libphonenumber-js@^1.10.53: + version "1.10.58" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.58.tgz#2015877bd47fd3d32d9fbfcedd75df35be230c9a" + integrity sha512-53A0IpJFL9LdHbpeatwizf8KSwPICrqn9H0g3Y7WQ+Jgeu9cQ4Ew3WrRtrLBu/CX2lXd5+rgT01/tGlkbkzOjw== lines-and-columns@^1.1.6: version "1.2.4" @@ -5668,7 +6205,7 @@ msrcrypto@^1.5.6: resolved "https://registry.yarnpkg.com/msrcrypto/-/msrcrypto-1.5.8.tgz#be419be4945bf134d8af52e9d43be7fa261f4a1c" integrity sha512-ujZ0TRuozHKKm6eGbKHfXef7f+esIhEckmThVnz7RNyiOJd7a6MXj2JGBoL9cnPDW+JMG16MoTUh5X+XXjI66Q== -nanoid@^3.3.6: +nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== @@ -5717,13 +6254,18 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-cache@5.1.2, node-cache@^5.1.2: +node-cache@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== dependencies: clone "2.x" +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-fetch@3.0.0-beta.9: version "3.0.0-beta.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.0.0-beta.9.tgz#0a7554cfb824380dd6812864389923c783c80d9b" @@ -5732,13 +6274,22 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-fetch@^2.6.1, node-fetch@^2.6.11, node-fetch@^2.6.7: +node-fetch@^2.6.11, node-fetch@^2.6.7: version "2.6.11" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== dependencies: whatwg-url "^5.0.0" +node-fetch@^3.2.10: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-gyp-build@^4.2.0: version "4.8.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" @@ -5759,6 +6310,11 @@ node-releases@^2.0.12: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + nofilter@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" @@ -5957,6 +6513,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -6231,6 +6792,13 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +rdf-canonize@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-3.4.0.tgz#87f88342b173cc371d812a07de350f0c1aa9f058" + integrity sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA== + dependencies: + setimmediate "^1.0.5" + react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -6267,16 +6835,6 @@ ref-array-di@1.2.2, ref-array-di@^1.2.2: array-index "^1.0.0" debug "^3.1.0" -ref-napi@3.0.3, "ref-napi@^2.0.1 || ^3.0.2", ref-napi@^3.0.3, "ref-napi@npm:@2060.io/ref-napi": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@2060.io/ref-napi/-/ref-napi-3.0.6.tgz#32b1a257cada096f95345fd7abae746385ecc5dd" - integrity sha512-8VAIXLdKL85E85jRYpPcZqATBL6fGnC/XjBGNeSgRSMJtrAMSmfRksqIq5AmuZkA2eeJXMWCiN6UQOUdozcymg== - dependencies: - debug "^4.1.1" - get-symbol-from-current-process-h "^1.0.2" - node-addon-api "^3.0.0" - node-gyp-build "^4.2.1" - ref-struct-di@1.1.1, ref-struct-di@^1.1.0, ref-struct-di@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ref-struct-di/-/ref-struct-di-1.1.1.tgz#5827b1d3b32372058f177547093db1fe1602dc10" @@ -6416,7 +6974,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.2.0: +rxjs@^7.8.0: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -6514,7 +7072,7 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-error@^8.0.1: +serialize-error@^8.0.1, serialize-error@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-8.1.0.tgz#3a069970c712f78634942ddd50fbbc0eaebe2f67" integrity sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ== @@ -6568,6 +7126,11 @@ set-function-name@^2.0.0, set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -6711,7 +7274,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.8: +string.prototype.matchall@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== @@ -7214,7 +7777,12 @@ underscore@1.12.1: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== -undici@^5.14.0: +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +undici@^5.14.0, undici@^5.21.2: version "5.28.3" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.3.tgz#a731e0eff2c3fcfd41c1169a869062be222d1e5b" integrity sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA== @@ -7244,6 +7812,14 @@ update-browserslist-db@^1.0.11: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -7303,16 +7879,11 @@ v8-to-istanbul@^8.1.0: convert-source-map "^1.6.0" source-map "^0.7.3" -validator@^13.11.0: +validator@^13.11.0, validator@^13.9.0: version "13.11.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== -validator@^13.7.0: - version "13.9.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855" - integrity sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA== - varint@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" @@ -7352,6 +7923,11 @@ web-did-resolver@^2.0.21: cross-fetch "^3.1.5" did-resolver "^4.0.0" +web-streams-polyfill@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== + webcrypto-core@^1.7.7: version "1.7.7" resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.7.tgz#06f24b3498463e570fed64d7cab149e5437b162c" @@ -7501,7 +8077,7 @@ ws@8.5.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== -ws@^7.4.6, ws@^7.5.3: +ws@^7.4.6: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== @@ -7611,4 +8187,4 @@ yn@3.1.1: yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== \ No newline at end of file + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==