@sphereon/ssi-sdk.presentation-exchange 0.28.1-next.39 → 0.28.1-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationExchange.d.ts","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAE/B,gBAAgB,EAChB,mCAAmC,EACnC,gBAAgB,EAChB,OAAO,EAEP,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAW,uBAAuB,EAAO,MAAM,eAAe,CAAA;AAOrE,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,MAAM,MAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAEhC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAKtC;gBAEW,IAAI,CAAC,EAAE,OAAO;YAEZ,qBAAqB;IA2B7B,oBAAoB,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItG,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe3H,gDAAgD,CACpD,IAAI,EAAE,+BAA+B,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mCAAmC,EAAE,CAAC;YAqCnC,oBAAoB;CAsBnC"}
1
+ {"version":3,"file":"PresentationExchange.d.ts","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAE/B,gBAAgB,EAChB,mCAAmC,EACnC,gBAAgB,EAChB,OAAO,EAEP,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAuB,YAAY,EAA6D,MAAM,cAAc,CAAA;AAE3H,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAW,uBAAuB,EAAO,MAAM,eAAe,CAAA;AAKrE,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,MAAM,MAAqC;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAEhC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAKtC;gBAEW,IAAI,CAAC,EAAE,OAAO;YAEZ,qBAAqB;IA2B7B,oBAAoB,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItG,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe3H,gDAAgD,CACpD,IAAI,EAAE,+BAA+B,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mCAAmC,EAAE,CAAC;YAmCnC,oBAAoB;CAcnC"}
@@ -14,7 +14,6 @@ const index_1 = require("../index");
14
14
  const pex_1 = require("@sphereon/pex");
15
15
  const ssi_types_1 = require("@sphereon/ssi-types");
16
16
  const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
17
- const ssi_sdk_credential_store_1 = require("@sphereon/ssi-sdk.credential-store");
18
17
  class PresentationExchange {
19
18
  constructor(opts) {
20
19
  this.schema = index_1.schema.IDidAuthSiopOpAuthenticator;
@@ -59,14 +58,14 @@ class PresentationExchange {
59
58
  }
60
59
  pexDefinitionFilterCredentials(args, context) {
61
60
  return __awaiter(this, void 0, void 0, function* () {
62
- var _a, _b, _c;
63
- const credentials = yield this.pexFilterCredentials(args.credentialFilterOpts, context);
61
+ var _a, _b, _c, _d;
62
+ const credentials = yield this.pexFilterCredentials((_a = args.credentialFilterOpts) !== null && _a !== void 0 ? _a : {}, context);
64
63
  const holderDIDs = args.holderDIDs ? (0, ssi_sdk_ext_did_utils_1.toDIDs)(args.holderDIDs) : (0, ssi_sdk_ext_did_utils_1.toDIDs)(yield context.agent.dataStoreORMGetIdentifiers());
65
- const selectResults = this.pex.selectFrom(args.presentationDefinition, credentials !== null && credentials !== void 0 ? credentials : [], Object.assign(Object.assign({}, args), { holderDIDs, limitDisclosureSignatureSuites: (_a = args.limitDisclosureSignatureSuites) !== null && _a !== void 0 ? _a : ['BbsBlsSignature2020'] }));
64
+ const selectResults = this.pex.selectFrom(args.presentationDefinition, credentials !== null && credentials !== void 0 ? credentials : [], Object.assign(Object.assign({}, args), { holderDIDs, limitDisclosureSignatureSuites: (_b = args.limitDisclosureSignatureSuites) !== null && _b !== void 0 ? _b : ['BbsBlsSignature2020'] }));
66
65
  return {
67
66
  id: args.presentationDefinition.id,
68
67
  selectResults,
69
- filteredCredentials: (_c = (_b = selectResults.verifiableCredential) === null || _b === void 0 ? void 0 : _b.map((vc) => ssi_types_1.CredentialMapper.storedCredentialToOriginalFormat(vc))) !== null && _c !== void 0 ? _c : [],
68
+ filteredCredentials: (_d = (_c = selectResults.verifiableCredential) === null || _c === void 0 ? void 0 : _c.map((vc) => ssi_types_1.CredentialMapper.storedCredentialToOriginalFormat(vc))) !== null && _d !== void 0 ? _d : [],
70
69
  };
71
70
  });
72
71
  }
@@ -83,9 +82,8 @@ class PresentationExchange {
83
82
  id: inputDescriptor.id,
84
83
  input_descriptors: [inputDescriptor],
85
84
  };
86
- const credentialRole = args.credentialFilterOpts.credentialRole;
87
85
  promises.set(inputDescriptor, this.pexDefinitionFilterCredentials({
88
- credentialFilterOpts: { credentialRole, verifiableCredentials: credentials },
86
+ credentialFilterOpts: { verifiableCredentials: credentials },
89
87
  // @ts-ignore
90
88
  presentationDefinition,
91
89
  holderDIDs,
@@ -102,17 +100,12 @@ class PresentationExchange {
102
100
  }
103
101
  pexFilterCredentials(filterOpts, context) {
104
102
  return __awaiter(this, void 0, void 0, function* () {
105
- if (filterOpts.verifiableCredentials && filterOpts.verifiableCredentials.length > 0) {
103
+ if ((filterOpts === null || filterOpts === void 0 ? void 0 : filterOpts.verifiableCredentials) && filterOpts.verifiableCredentials.length > 0) {
106
104
  return filterOpts.verifiableCredentials;
107
105
  }
108
- const filter = (0, ssi_sdk_credential_store_1.verifiableCredentialForRoleFilter)(filterOpts.credentialRole, filterOpts.filter);
109
- const uniqueCredentials = yield context.agent.crsGetUniqueCredentials({ filter });
110
- return uniqueCredentials.map((uniqueVC) => {
111
- const vc = uniqueVC.uniformVerifiableCredential;
112
- const proof = Array.isArray(vc.proof) ? vc.proof : [vc.proof];
113
- const jwtProof = proof.find((p) => (p === null || p === void 0 ? void 0 : p.type) === ssi_types_1.JWT_PROOF_TYPE_2020);
114
- return jwtProof ? jwtProof.jwt : vc;
115
- });
106
+ return (yield context.agent.dataStoreORMGetVerifiableCredentials(filterOpts === null || filterOpts === void 0 ? void 0 : filterOpts.filter))
107
+ .map((uniqueVC) => uniqueVC.verifiableCredential)
108
+ .map((vc) => (vc.proof && vc.proof.type === ssi_types_1.JWT_PROOF_TYPE_2020 ? vc.proof.jwt : vc));
116
109
  });
117
110
  }
118
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationExchange.js","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PresentationExchange.js","sourceRoot":"","sources":["../../src/agent/PresentationExchange.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { IAgentContext, ICredentialPlugin, IDataStoreORM, IDIDManager, IIdentifier, IPluginMethodMap, IResolver, PresentationPayload } from '@veramo/core';
1
+ import { FindCredentialsArgs, IAgentContext, ICredentialPlugin, IDataStoreORM, IDIDManager, IIdentifier, IPluginMethodMap, IResolver, PresentationPayload } from '@veramo/core';
2
2
  import { IPresentation, Optional, W3CVerifiableCredential, W3CVerifiablePresentation } from '@sphereon/ssi-types';
3
3
  import { IPresentationDefinition, PEVersion, SelectResults } from '@sphereon/pex';
4
4
  import { Format, InputDescriptorV1, InputDescriptorV2 } from '@sphereon/pex-models';
5
- import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store';
6
- import { CredentialRole, FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store';
7
5
  export interface IPresentationExchange extends IPluginMethodMap {
8
6
  pexValidateDefinition(args: IDefinitionValidateArgs): Promise<boolean>;
9
7
  pexDefinitionVersion(presentationDefinition: IPresentationDefinition): Promise<VersionDiscoveryResult>;
@@ -15,10 +13,9 @@ export interface IDefinitionValidateArgs {
15
13
  }
16
14
  export interface IDefinitionCredentialFilterArgs {
17
15
  presentationDefinition: IPresentationDefinition;
18
- credentialFilterOpts: {
19
- credentialRole: CredentialRole;
16
+ credentialFilterOpts?: {
20
17
  verifiableCredentials?: W3CVerifiableCredential[];
21
- filter?: FindDigitalCredentialArgs;
18
+ filter?: FindCredentialsArgs;
22
19
  };
23
20
  holderDIDs?: (string | IIdentifier)[];
24
21
  limitDisclosureSignatureSuites?: string[];
@@ -50,5 +47,5 @@ export interface IPEXPresentationSignCallBackParams {
50
47
  presentation: IPresentation | Optional<PresentationPayload, 'holder'>;
51
48
  presentationDefinition: IPresentationDefinition;
52
49
  }
53
- export type IRequiredContext = IAgentContext<IDataStoreORM & IResolver & IDIDManager & ICredentialPlugin & ICredentialStore>;
50
+ export type IRequiredContext = IAgentContext<IDataStoreORM & IResolver & IDIDManager & ICredentialPlugin>;
54
51
  //# sourceMappingURL=IPresentationExchange.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IPresentationExchange.d.ts","sourceRoot":"","sources":["../../src/types/IPresentationExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACjH,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAExF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtE,oBAAoB,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEtG,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE3H,gDAAgD,CAC9C,IAAI,EAAE,+BAA+B,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,uBAAuB,CAAA;CACpC;AAED,MAAM,WAAW,+BAA+B;IAC9C,sBAAsB,EAAE,uBAAuB,CAAA;IAC/C,oBAAoB,EAAE;QACpB,cAAc,EAAE,cAAc,CAAA;QAC9B,qBAAqB,CAAC,EAAE,uBAAuB,EAAE,CAAA;QACjD,MAAM,CAAC,EAAE,yBAAyB,CAAA;KACnC,CAAA;IACD,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IACrC,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAE1B,UAAU,CAAC,EAAE,uBAAuB,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mCAAoC,SAAQ,gBAAgB;IAC3E,eAAe,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,aAAa,CAAA;IAC5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAA;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,4BAA4B,GAAG,CAAC,IAAI,EAAE,kCAAkC,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAE3H,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,aAAa,GAAG,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IACrE,sBAAsB,EAAE,uBAAuB,CAAA;CAChD;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"IPresentationExchange.d.ts","sourceRoot":"","sources":["../../src/types/IPresentationExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACjH,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtE,oBAAoB,CAAC,sBAAsB,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEtG,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE3H,gDAAgD,CAC9C,IAAI,EAAE,+BAA+B,EACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,uBAAuB,CAAA;CACpC;AAED,MAAM,WAAW,+BAA+B;IAC9C,sBAAsB,EAAE,uBAAuB,CAAA;IAC/C,oBAAoB,CAAC,EAAE;QAAE,qBAAqB,CAAC,EAAE,uBAAuB,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAA;IAC1G,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAA;IACrC,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAE1B,UAAU,CAAC,EAAE,uBAAuB,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mCAAoC,SAAQ,gBAAgB;IAC3E,eAAe,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,aAAa,CAAA;IAC5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAA;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,4BAA4B,GAAG,CAAC,IAAI,EAAE,kCAAkC,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;AAE3H,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,aAAa,GAAG,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IACrE,sBAAsB,EAAE,uBAAuB,CAAA;CAChD;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.presentation-exchange",
3
- "version": "0.28.1-next.39+150eb383",
3
+ "version": "0.28.1-next.6+e969b97b",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,15 +16,14 @@
16
16
  "dependencies": {
17
17
  "@sphereon/pex": "^4.0.1",
18
18
  "@sphereon/pex-models": "^2.2.4",
19
- "@sphereon/ssi-sdk-ext.did-utils": "0.23.1-next.5",
20
- "@sphereon/ssi-sdk.credential-store": "0.28.1-next.39+150eb383",
21
- "@sphereon/ssi-sdk.data-store": "0.28.1-next.39+150eb383",
22
- "@sphereon/ssi-types": "0.28.1-next.39+150eb383",
19
+ "@sphereon/ssi-sdk-ext.did-utils": "0.23.1-next.3",
20
+ "@sphereon/ssi-sdk.data-store": "0.28.1-next.6+e969b97b",
21
+ "@sphereon/ssi-types": "0.28.1-next.6+e969b97b",
23
22
  "@veramo/core": "4.2.0"
24
23
  },
25
24
  "devDependencies": {
26
25
  "@sphereon/did-uni-client": "^0.6.3",
27
- "@sphereon/ssi-sdk.agent-config": "0.28.1-next.39+150eb383",
26
+ "@sphereon/ssi-sdk.agent-config": "0.28.1-next.6+e969b97b",
28
27
  "@types/json-buffer": "^3.0.2",
29
28
  "@veramo/did-provider-key": "4.2.0",
30
29
  "@veramo/did-resolver": "4.2.0",
@@ -61,5 +60,5 @@
61
60
  "OpenID Connect",
62
61
  "Authenticator"
63
62
  ],
64
- "gitHead": "150eb383f24ddc8f6d25a3856abcc89ad241cf12"
63
+ "gitHead": "e969b97b387e62e2def5a0bac655f1fe5c7100a7"
65
64
  }
@@ -8,15 +8,13 @@ import {
8
8
  schema,
9
9
  VersionDiscoveryResult,
10
10
  } from '../index'
11
- import { IAgentPlugin } from '@veramo/core'
11
+ import { FindCredentialsArgs, IAgentPlugin, ProofType, UniqueVerifiableCredential, UnsignedCredential } from '@veramo/core'
12
12
 
13
13
  import { IPresentationExchange } from '../types/IPresentationExchange'
14
14
  import { Checked, IPresentationDefinition, PEX } from '@sphereon/pex'
15
- import { CompactJWT, CredentialMapper, JWT_PROOF_TYPE_2020, W3CVerifiableCredential } from '@sphereon/ssi-types'
15
+ import { CredentialMapper, JWT_PROOF_TYPE_2020, W3CVerifiableCredential } from '@sphereon/ssi-types'
16
16
  import { InputDescriptorV1, InputDescriptorV2 } from '@sphereon/pex-models'
17
17
  import { toDIDs } from '@sphereon/ssi-sdk-ext.did-utils'
18
- import { CredentialRole, UniqueDigitalCredential, verifiableCredentialForRoleFilter } from '@sphereon/ssi-sdk.credential-store'
19
- import { FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store'
20
18
 
21
19
  export class PresentationExchange implements IAgentPlugin {
22
20
  readonly schema = schema.IDidAuthSiopOpAuthenticator
@@ -63,7 +61,7 @@ export class PresentationExchange implements IAgentPlugin {
63
61
  }
64
62
 
65
63
  async pexDefinitionFilterCredentials(args: IDefinitionCredentialFilterArgs, context: IRequiredContext): Promise<IPEXFilterResult> {
66
- const credentials = await this.pexFilterCredentials(args.credentialFilterOpts, context)
64
+ const credentials = await this.pexFilterCredentials(args.credentialFilterOpts ?? {}, context)
67
65
  const holderDIDs = args.holderDIDs ? toDIDs(args.holderDIDs) : toDIDs(await context.agent.dataStoreORMGetIdentifiers())
68
66
  const selectResults = this.pex.selectFrom(args.presentationDefinition, credentials ?? [], {
69
67
  ...args,
@@ -93,13 +91,11 @@ export class PresentationExchange implements IAgentPlugin {
93
91
  input_descriptors: [inputDescriptor],
94
92
  }
95
93
 
96
- const credentialRole = args.credentialFilterOpts.credentialRole
97
-
98
94
  promises.set(
99
95
  inputDescriptor,
100
96
  this.pexDefinitionFilterCredentials(
101
97
  {
102
- credentialFilterOpts: { credentialRole, verifiableCredentials: credentials },
98
+ credentialFilterOpts: { verifiableCredentials: credentials },
103
99
  // @ts-ignore
104
100
  presentationDefinition,
105
101
  holderDIDs,
@@ -119,24 +115,16 @@ export class PresentationExchange implements IAgentPlugin {
119
115
 
120
116
  private async pexFilterCredentials(
121
117
  filterOpts: {
122
- credentialRole: CredentialRole
123
118
  verifiableCredentials?: W3CVerifiableCredential[]
124
- filter?: FindDigitalCredentialArgs
119
+ filter?: FindCredentialsArgs
125
120
  },
126
121
  context: IRequiredContext,
127
122
  ): Promise<W3CVerifiableCredential[]> {
128
- if (filterOpts.verifiableCredentials && filterOpts.verifiableCredentials.length > 0) {
123
+ if (filterOpts?.verifiableCredentials && filterOpts.verifiableCredentials.length > 0) {
129
124
  return filterOpts.verifiableCredentials as W3CVerifiableCredential[]
130
125
  }
131
-
132
- const filter = verifiableCredentialForRoleFilter(filterOpts.credentialRole, filterOpts.filter)
133
- const uniqueCredentials = await context.agent.crsGetUniqueCredentials({ filter })
134
-
135
- return uniqueCredentials.map((uniqueVC: UniqueDigitalCredential) => {
136
- const vc = uniqueVC.uniformVerifiableCredential!
137
- const proof = Array.isArray(vc.proof) ? vc.proof : [vc.proof]
138
- const jwtProof = proof.find((p) => p?.type === JWT_PROOF_TYPE_2020)
139
- return jwtProof ? (jwtProof.jwt as CompactJWT) : vc
140
- })
126
+ return (await context.agent.dataStoreORMGetVerifiableCredentials(filterOpts?.filter))
127
+ .map((uniqueVC: UniqueVerifiableCredential) => uniqueVC.verifiableCredential)
128
+ .map((vc: UnsignedCredential & { proof: ProofType }) => (vc.proof && vc.proof.type === JWT_PROOF_TYPE_2020 ? vc.proof.jwt : vc))
141
129
  }
142
130
  }
@@ -1,4 +1,5 @@
1
1
  import {
2
+ FindCredentialsArgs,
2
3
  IAgentContext,
3
4
  ICredentialPlugin,
4
5
  IDataStoreORM,
@@ -11,8 +12,6 @@ import {
11
12
  import { IPresentation, Optional, W3CVerifiableCredential, W3CVerifiablePresentation } from '@sphereon/ssi-types'
12
13
  import { IPresentationDefinition, PEVersion, SelectResults } from '@sphereon/pex'
13
14
  import { Format, InputDescriptorV1, InputDescriptorV2 } from '@sphereon/pex-models'
14
- import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store'
15
- import { CredentialRole, FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store'
16
15
 
17
16
  export interface IPresentationExchange extends IPluginMethodMap {
18
17
  pexValidateDefinition(args: IDefinitionValidateArgs): Promise<boolean>
@@ -33,11 +32,7 @@ export interface IDefinitionValidateArgs {
33
32
 
34
33
  export interface IDefinitionCredentialFilterArgs {
35
34
  presentationDefinition: IPresentationDefinition
36
- credentialFilterOpts: {
37
- credentialRole: CredentialRole
38
- verifiableCredentials?: W3CVerifiableCredential[]
39
- filter?: FindDigitalCredentialArgs
40
- }
35
+ credentialFilterOpts?: { verifiableCredentials?: W3CVerifiableCredential[]; filter?: FindCredentialsArgs }
41
36
  holderDIDs?: (string | IIdentifier)[]
42
37
  limitDisclosureSignatureSuites?: string[]
43
38
  restrictToFormats?: Format
@@ -77,4 +72,4 @@ export interface IPEXPresentationSignCallBackParams {
77
72
  presentationDefinition: IPresentationDefinition
78
73
  }
79
74
 
80
- export type IRequiredContext = IAgentContext<IDataStoreORM & IResolver & IDIDManager & ICredentialPlugin & ICredentialStore>
75
+ export type IRequiredContext = IAgentContext<IDataStoreORM & IResolver & IDIDManager & ICredentialPlugin>