@sphereon/ssi-sdk.credential-store 0.29.0 → 0.29.1-next.104

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.
@@ -39,6 +39,8 @@ export declare class CredentialStore implements IAgentPlugin {
39
39
  * @param args
40
40
  */
41
41
  private crsGetCredentialsByClaimsCount;
42
+ private secureParse;
42
43
  private toUniqueCredentials;
44
+ private generateDigest;
43
45
  }
44
46
  //# sourceMappingURL=CredentialStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialStore.d.ts","sourceRoot":"","sources":["../../src/agent/CredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAUL,gBAAgB,EAMjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,8BAA8B,EAAgD,MAAM,8BAA8B,CAAA;AAG3H,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAWhD,CAAA;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,MAAM,MAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAWjC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,OAAO,EAAE;QAAE,KAAK,EAAE,8BAA8B,CAAA;KAAE;IAI9D,gDAAgD;YAClC,gBAAgB;IAI9B,qDAAqD;YACvC,wBAAwB;IAItC,gDAAgD;YAClC,gBAAgB;IAM9B,iDAAiD;YACnC,iBAAiB;IAM/B,gEAAgE;YAClD,gCAAgC;IAU9C,uDAAuD;YACzC,uBAAuB;IAKrC,mDAAmD;YACrC,mBAAmB;IAIjC,oDAAoD;YACtC,oBAAoB;IAYlC;;;OAGG;YACW,yBAAyB;IA8DvC,OAAO,CAAC,sBAAsB;IA2B9B;;;OAGG;YACW,8BAA8B;IAK5C,OAAO,CAAC,mBAAmB;CAoC5B"}
1
+ {"version":3,"file":"CredentialStore.d.ts","sourceRoot":"","sources":["../../src/agent/CredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAUL,gBAAgB,EAMjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,8BAA8B,EAAgD,MAAM,8BAA8B,CAAA;AAG3H,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAWhD,CAAA;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,MAAM,MAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAWjC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;gBAE1C,OAAO,EAAE;QAAE,KAAK,EAAE,8BAA8B,CAAA;KAAE;IAI9D,gDAAgD;YAClC,gBAAgB;IAI9B,qDAAqD;YACvC,wBAAwB;IAItC,gDAAgD;YAClC,gBAAgB;IAM9B,iDAAiD;YACnC,iBAAiB;IAM/B,gEAAgE;YAClD,gCAAgC;IAU9C,uDAAuD;YACzC,uBAAuB;IAKrC,mDAAmD;YACrC,mBAAmB;IAIjC,oDAAoD;YACtC,oBAAoB;IAYlC;;;OAGG;YACW,yBAAyB;IA8DvC,OAAO,CAAC,sBAAsB;IA2B9B;;;OAGG;YACW,8BAA8B;IAK5C,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,cAAc,CAErB;CACF"}
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CredentialStore = exports.credentialStoreMethods = void 0;
16
+ const crypto_1 = __importDefault(require("crypto"));
13
17
  const index_1 = require("../index");
14
18
  // Exposing the methods here for any REST implementation
15
19
  exports.credentialStoreMethods = [
@@ -42,12 +46,16 @@ class CredentialStore {
42
46
  crsGetCredentialsByClaims: this.crsGetCredentialsByClaims.bind(this),
43
47
  crsGetCredentialsByClaimsCount: this.crsGetCredentialsByClaimsCount.bind(this),
44
48
  };
49
+ this.generateDigest = (data, algorithm) => {
50
+ return new Uint8Array(crypto_1.default.createHash(algorithm).update(data).digest());
51
+ };
45
52
  this.store = options.store;
46
53
  }
47
54
  /** {@inheritDoc ICRManager.crmAddCredential} */
48
55
  crsAddCredential(args) {
49
56
  return __awaiter(this, void 0, void 0, function* () {
50
- return yield this.store.addCredential(args.credential);
57
+ var _a, _b;
58
+ return yield this.store.addCredential(Object.assign(Object.assign({}, args.credential), { opts: Object.assign(Object.assign({}, args.opts), { hasher: (_b = (_a = args.opts) === null || _a === void 0 ? void 0 : _a.hasher) !== null && _b !== void 0 ? _b : this.generateDigest }) }));
51
59
  });
52
60
  }
53
61
  /** {@inheritDoc ICRManager.updateCredentialState} */
@@ -211,6 +219,12 @@ class CredentialStore {
211
219
  return credentialsByClaims.length; // FIXME ?
212
220
  });
213
221
  }
222
+ secureParse(original) {
223
+ if (original.includes('~')) {
224
+ return original;
225
+ }
226
+ return JSON.parse(original);
227
+ }
214
228
  toUniqueCredentials(credentials) {
215
229
  return Object.values(credentials.reduce((accumulator, credential) => {
216
230
  var _a, _b, _c, _d;
@@ -220,21 +234,21 @@ class CredentialStore {
220
234
  };
221
235
  switch (credential.documentType) {
222
236
  case index_1.DocumentType.VC:
223
- uniqueCredential.originalVerifiableCredential = JSON.parse(credential.rawDocument);
224
- uniqueCredential.uniformVerifiableCredential = JSON.parse(credential.uniformDocument);
237
+ uniqueCredential.originalVerifiableCredential = this.secureParse(credential.rawDocument);
238
+ uniqueCredential.uniformVerifiableCredential = this.secureParse(credential.uniformDocument);
225
239
  uniqueCredential.id = (_a = uniqueCredential.uniformVerifiableCredential) === null || _a === void 0 ? void 0 : _a.id;
226
240
  break;
227
241
  case index_1.DocumentType.VP:
228
- uniqueCredential.originalVerifiablePresentation = JSON.parse(credential.rawDocument);
229
- uniqueCredential.uniformVerifiablePresentation = JSON.parse(credential.uniformDocument);
242
+ uniqueCredential.originalVerifiablePresentation = this.secureParse(credential.rawDocument);
243
+ uniqueCredential.uniformVerifiablePresentation = this.secureParse(credential.uniformDocument);
230
244
  uniqueCredential.id = (_b = uniqueCredential.uniformVerifiablePresentation) === null || _b === void 0 ? void 0 : _b.id;
231
245
  break;
232
246
  case index_1.DocumentType.P:
233
- uniqueCredential.originalPresentation = JSON.parse(credential.rawDocument);
247
+ uniqueCredential.originalPresentation = this.secureParse(credential.rawDocument);
234
248
  uniqueCredential.id = (_c = uniqueCredential.originalPresentation) === null || _c === void 0 ? void 0 : _c.id;
235
249
  break;
236
250
  case index_1.DocumentType.C:
237
- uniqueCredential.originalCredential = JSON.parse(credential.rawDocument);
251
+ uniqueCredential.originalCredential = this.secureParse(credential.rawDocument);
238
252
  uniqueCredential.id = (_d = uniqueCredential.originalCredential) === null || _d === void 0 ? void 0 : _d.id;
239
253
  break;
240
254
  // TODO CBOR support
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialStore.js","sourceRoot":"","sources":["../../src/agent/CredentialStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialStore.js","sourceRoot":"","sources":["../../src/agent/CredentialStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oDAA2B;AAC3B,oCAgBiB;AAGjB,wDAAwD;AAC3C,QAAA,sBAAsB,GAAkB;IACnD,kBAAkB;IAClB,0BAA0B;IAC1B,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB;IACzB,kCAAkC;IAClC,2BAA2B;IAC3B,gCAAgC;CACjC,CAAA;AAED;;GAEG;AACH,MAAa,eAAe;IAiB1B,YAAY,OAAkD;QAhBrD,WAAM,GAAG,cAAM,CAAC,gBAAgB,CAAA;QAChC,YAAO,GAAqB;YACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,gCAAgC,EAAE,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpE,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/E,CAAA;QAqNO,mBAAc,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAc,EAAE;YACvE,OAAO,IAAI,UAAU,CAAC,gBAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3E,CAAC,CAAA;QAlNC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC5B,CAAC;IAED,gDAAgD;IAClC,gBAAgB,CAAC,IAAuB;;;YACpD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,iCAAM,IAAI,CAAC,UAAU,KAAE,IAAI,kCAAO,IAAI,CAAC,IAAI,KAAE,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,mCAAI,IAAI,CAAC,cAAc,OAAK,CAAA;QACzI,CAAC;KAAA;IAED,qDAAqD;IACvC,wBAAwB,CAAC,IAA+B;;YACpE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC;KAAA;IAED,gDAAgD;IAClC,gBAAgB,CAAC,IAAuB;;YACpD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;YACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YACzD,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAED,iDAAiD;IACnC,iBAAiB,CAAC,IAAwB;;YACtD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/D,OAAO,WAAW,CAAC,IAAI,CAAA;QACzB,CAAC;KAAA;IAED,gEAAgE;IAClD,gCAAgC,CAAC,IAAkC;;YAC/E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAA,gCAAwB,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC1H,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAA;YAClB,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,cAAM,CAAC,OAAO,CAAC,oEAAoE,EAAE,IAAI,CAAC,CAAA;YAC5F,CAAC;YACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;KAAA;IAED,uDAAuD;IACzC,uBAAuB,CAAC,IAAwB;;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC;KAAA;IAED,mDAAmD;IACrC,mBAAmB,CAAC,IAA0B;;YAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;KAAA;IAED,oDAAoD;IACtC,oBAAoB,CAAC,IAA2B;;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACtD,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;gBACvE,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,EAAE,CAAA;gBACT,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;KAAA;IAED;;;OAGG;IACW,yBAAyB,CAAC,IAAgC;;YACtE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC;gBAC5D,MAAM,EAAE;oBACN,4EAA4E;oBAC5E;wBACE,YAAY,EAAE,oBAAY,CAAC,EAAE;wBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB;oBACD;wBACE,YAAY,EAAE,oBAAY,CAAC,CAAC;wBAC5B,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB;iBACF;aACF,CAAC,CAAA;YAEF,sEAAsE;YACtE,MAAM,wBAAwB,GAA8B,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;;gBACjG,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,2BAA2B,CAAA;gBACvD,OAAO,CACL,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;;oBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;oBAEzE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,CAAA;oBACpC,CAAC;oBAED,QAAQ,WAAW,CAAC,EAAE,EAAE,CAAC;wBACvB,KAAK,IAAI;4BACP,OAAO,MAAA,WAAW,CAAC,KAAK,0CAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;wBAC3C,KAAK,MAAM;4BACT,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAClF,KAAK,SAAS;4BACZ,OAAO,KAAK,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAC3F,KAAK,UAAU;4BACb,OAAO,KAAK,GAAG,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAC/C,KAAK,iBAAiB;4BACpB,OAAO,KAAK,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAChD,KAAK,UAAU;4BACb,OAAO,KAAK,GAAG,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAC/C,KAAK,iBAAiB;4BACpB,OAAO,KAAK,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAA;wBAChD,KAAK,KAAK;4BACR,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,WAAW,CAAC,KAAK,0CAAE,QAAQ,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA;wBAClF,KAAK,QAAQ;4BACX,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;wBAC9C,KAAK,OAAO,CAAC;wBACb;4BACE,OAAO,KAAK,MAAK,MAAA,WAAW,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAA,CAAA;oBAC3C,CAAC;gBACH,CAAC,CAAC,mCAAI,IAAI,CACX,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,wBAAwB,CAAA;QACjC,CAAC;KAAA;IAEO,sBAAsB,CAAC,UAAiC,EAAE,MAAsB;;QACtF,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,UAAU,CAAC,UAAU,CAAC,CAAA;YAC/B,KAAK,gBAAgB;gBACnB,OAAO,UAAU,CAAC,IAAI,CAAA;YACxB,KAAK,MAAM;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,iBAAiB,0CAAE,IAAI,CAAA;YACjI,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;YACrD,KAAK,OAAO;gBACV,OAAO,OAAO,UAAU,CAAC,iBAAiB,KAAK,QAAQ,CAAA;YACzD,KAAK,IAAI;gBACP,OAAO,UAAU,CAAC,EAAE,CAAA;YACtB,KAAK,QAAQ;gBACX,OAAO,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAA;YACzF,KAAK,SAAS;gBACZ,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,0CAAE,EAAE,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,iBAAiB,0CAAE,EAAE,CAAA;YAC7H,KAAK,gBAAgB;gBACnB,OAAO,UAAU,CAAC,cAAc,CAAA;YAClC,KAAK,cAAc;gBACjB,OAAO,UAAU,CAAC,YAAY,CAAA;YAChC;gBACE,OAAO,SAAS,CAAA;QACpB,CAAC;IACH,CAAC;IAED;;;OAGG;IACW,8BAA8B,CAAC,IAAgC;;YAC3E,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;YACtE,OAAO,mBAAmB,CAAC,MAAM,CAAA,CAAC,UAAU;QAC9C,CAAC;KAAA;IAEO,WAAW,CAAO,QAAgB;QACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,QAAgB,CAAA;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAEO,mBAAmB,CAAC,WAAqC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAClB,WAAW,CAAC,MAAM,CAChB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;;YAC1B,MAAM,gBAAgB,GAA4B;gBAChD,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,iBAAiB,EAAE,UAAU;aAC9B,CAAA;YACD,QAAQ,UAAU,CAAC,YAAY,EAAE,CAAC;gBAChC,KAAK,oBAAY,CAAC,EAAE;oBAClB,gBAAgB,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;oBACxF,gBAAgB,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;oBAC3F,gBAAgB,CAAC,EAAE,GAAG,MAAA,gBAAgB,CAAC,2BAA2B,0CAAE,EAAE,CAAA;oBACtE,MAAK;gBACP,KAAK,oBAAY,CAAC,EAAE;oBAClB,gBAAgB,CAAC,8BAA8B,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;oBAC1F,gBAAgB,CAAC,6BAA6B,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;oBAC7F,gBAAgB,CAAC,EAAE,GAAG,MAAA,gBAAgB,CAAC,6BAA6B,0CAAE,EAAE,CAAA;oBACxE,MAAK;gBACP,KAAK,oBAAY,CAAC,CAAC;oBACjB,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;oBAChF,gBAAgB,CAAC,EAAE,GAAG,MAAA,gBAAgB,CAAC,oBAAoB,0CAAE,EAAE,CAAA;oBAC/D,MAAK;gBACP,KAAK,oBAAY,CAAC,CAAC;oBACjB,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;oBAC9E,gBAAgB,CAAC,EAAE,GAAG,MAAA,gBAAgB,CAAC,kBAAkB,0CAAE,EAAE,CAAA;oBAC7D,MAAK;gBACP,oBAAoB;YACtB,CAAC;YACD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAA;YAC/C,OAAO,WAAW,CAAA;QACpB,CAAC,EACD,EAA6C,CAC9C,CACF,CAAA;IACH,CAAC;CAKF;AArOD,0CAqOC"}
@@ -6,7 +6,7 @@ import { CredentialStateType } from '@sphereon/ssi-sdk.data-store';
6
6
  import { DigitalCredential } from '@sphereon/ssi-sdk.data-store';
7
7
  import { DocumentType as DocumentType_2 } from '@sphereon/ssi-sdk.data-store';
8
8
  import { FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store';
9
- import { FindDigitalCredentialArgs as FindDigitalCredentialArgs_2 } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/IAbstractDigitalCredentialStore';
9
+ import { Hasher } from '@sphereon/ssi-types';
10
10
  import { IAgentContext } from '@veramo/core';
11
11
  import { IAgentPlugin } from '@veramo/core';
12
12
  import { ICredential } from '@sphereon/ssi-types';
@@ -14,17 +14,28 @@ import { IPluginMethodMap } from '@veramo/core';
14
14
  import { IPresentation } from '@sphereon/ssi-types';
15
15
  import { ISimpleLogger } from '@sphereon/ssi-types';
16
16
  import { IVerifiableCredential } from '@sphereon/ssi-types';
17
- import { NonPersistedDigitalCredential } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/digitalCredential';
17
+ import { NonPersistedDigitalCredential } from '@sphereon/ssi-sdk.data-store';
18
18
  import { OriginalVerifiableCredential } from '@sphereon/ssi-types';
19
19
  import { OriginalVerifiablePresentation } from '@sphereon/ssi-types';
20
20
  import { UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store';
21
21
 
22
22
  export declare type AddCredentialArgs = {
23
23
  credential: AddDigitalCredential;
24
+ opts?: {
25
+ maxTimeSkewInMS?: number;
26
+ hasher?: Hasher;
27
+ };
24
28
  };
25
29
 
26
30
  export declare type AddDigitalCredential = Omit<NonPersistedDigitalCredential, 'id' | 'documentType' | 'documentFormat' | 'uniformDocument' | 'hash' | 'createdAt' | 'lastUpdatedAt' | 'validFrom' | 'validUntil'>;
27
31
 
32
+ /**
33
+ *
34
+ * @param context
35
+ * @internal
36
+ */
37
+ export declare function contextHasCredentialStore(context: IAgentContext<IPluginMethodMap>): context is IAgentContext<ICredentialStore>;
38
+
28
39
  export { CredentialCorrelationType }
29
40
 
30
41
  export { CredentialDocumentFormat }
@@ -79,7 +90,9 @@ export declare class CredentialStore implements IAgentPlugin {
79
90
  * @param args
80
91
  */
81
92
  private crsGetCredentialsByClaimsCount;
93
+ private secureParse;
82
94
  private toUniqueCredentials;
95
+ private generateDigest;
83
96
  }
84
97
 
85
98
  export declare const credentialStoreMethods: Array<string>;
@@ -125,7 +138,7 @@ export declare type GetCredentialArgs = {
125
138
  };
126
139
 
127
140
  export declare type GetCredentialsArgs = {
128
- filter: FindDigitalCredentialArgs_2;
141
+ filter: FindDigitalCredentialArgs;
129
142
  };
130
143
 
131
144
  export declare type GetCredentialsByClaimsArgs = {
@@ -167,8 +180,7 @@ export declare interface ICredentialStore extends IPluginMethodMap {
167
180
  crsGetUniqueCredentials(args: GetCredentialsArgs): Promise<Array<UniqueDigitalCredential>>;
168
181
  /**
169
182
  * Find one credential by id or hash
170
- * @param CredentialRole
171
- * @param idOrHash
183
+ * @param args
172
184
  */
173
185
  crsGetUniqueCredentialByIdOrHash(args: GetCredentialsByIdOrHashArgs): Promise<OptionalUniqueDigitalCredential>;
174
186
  /**
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.47.2"
8
+ "packageVersion": "7.47.7"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,9 +1,8 @@
1
+ import { CredentialRole, DigitalCredential, FindDigitalCredentialArgs, NonPersistedDigitalCredential, UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store';
2
+ import { Hasher, ICredential, IPresentation, IVerifiableCredential, OriginalVerifiableCredential, OriginalVerifiablePresentation } from '@sphereon/ssi-types';
1
3
  import { IAgentContext, IPluginMethodMap } from '@veramo/core';
2
- import { CredentialRole, DigitalCredential, UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store';
3
- import { FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/IAbstractDigitalCredentialStore';
4
- import { NonPersistedDigitalCredential } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/digitalCredential';
5
4
  import { FindClaimsArgs } from './claims';
6
- import { ICredential, IPresentation, IVerifiableCredential, OriginalVerifiableCredential, OriginalVerifiablePresentation } from '@sphereon/ssi-types';
5
+ export type { UpdateCredentialStateArgs };
7
6
  export interface ICredentialStore extends IPluginMethodMap {
8
7
  /**
9
8
  * Add a new credential.
@@ -32,8 +31,7 @@ export interface ICredentialStore extends IPluginMethodMap {
32
31
  crsGetUniqueCredentials(args: GetCredentialsArgs): Promise<Array<UniqueDigitalCredential>>;
33
32
  /**
34
33
  * Find one credential by id or hash
35
- * @param CredentialRole
36
- * @param idOrHash
34
+ * @param args
37
35
  */
38
36
  crsGetUniqueCredentialByIdOrHash(args: GetCredentialsByIdOrHashArgs): Promise<OptionalUniqueDigitalCredential>;
39
37
  /**
@@ -57,6 +55,12 @@ export interface ICredentialStore extends IPluginMethodMap {
57
55
  */
58
56
  crsDeleteCredentials(args: DeleteCredentialsArgs): Promise<number>;
59
57
  }
58
+ /**
59
+ *
60
+ * @param context
61
+ * @internal
62
+ */
63
+ export declare function contextHasCredentialStore(context: IAgentContext<IPluginMethodMap>): context is IAgentContext<ICredentialStore>;
60
64
  export type GetCredentialArgs = {
61
65
  id: string;
62
66
  };
@@ -81,8 +85,11 @@ export type DeleteCredentialsArgs = GetCredentialsArgs;
81
85
  export type AddDigitalCredential = Omit<NonPersistedDigitalCredential, 'id' | 'documentType' | 'documentFormat' | 'uniformDocument' | 'hash' | 'createdAt' | 'lastUpdatedAt' | 'validFrom' | 'validUntil'>;
82
86
  export type AddCredentialArgs = {
83
87
  credential: AddDigitalCredential;
88
+ opts?: {
89
+ maxTimeSkewInMS?: number;
90
+ hasher?: Hasher;
91
+ };
84
92
  };
85
- export type { UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store';
86
93
  export interface UniqueDigitalCredential {
87
94
  hash: string;
88
95
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ICredentialStore.d.ts","sourceRoot":"","sources":["../../src/types/ICredentialStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ICredentialStore.d.ts","sourceRoot":"","sources":["../../src/types/ICredentialStore.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contextHasCredentialStore = void 0;
4
+ const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
5
+ /**
6
+ *
7
+ * @param context
8
+ * @internal
9
+ */
10
+ function contextHasCredentialStore(context) {
11
+ return (0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'crsGetCredential');
12
+ }
13
+ exports.contextHasCredentialStore = contextHasCredentialStore;
3
14
  //# sourceMappingURL=ICredentialStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICredentialStore.js","sourceRoot":"","sources":["../../src/types/ICredentialStore.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ICredentialStore.js","sourceRoot":"","sources":["../../src/types/ICredentialStore.ts"],"names":[],"mappings":";;;AAAA,yEAAiE;AAmFjE;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,OAAwC;IAChF,OAAO,IAAA,uCAAgB,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;AACtD,CAAC;AAFD,8DAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.credential-store",
3
- "version": "0.29.0",
3
+ "version": "0.29.1-next.104+f55b05ba",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,15 +17,15 @@
17
17
  "dependencies": {
18
18
  "@sphereon/pex": "^4.0.1",
19
19
  "@sphereon/pex-models": "^2.2.4",
20
- "@sphereon/ssi-sdk.data-store": "0.29.0",
20
+ "@sphereon/ssi-sdk.data-store": "0.29.1-next.104+f55b05ba",
21
21
  "cross-fetch": "^3.1.8",
22
22
  "debug": "^4.3.4",
23
23
  "typeorm": "^0.3.20",
24
24
  "uuid": "^9.0.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@sphereon/ssi-sdk.agent-config": "0.29.0",
28
- "@sphereon/ssi-types": "0.29.0",
27
+ "@sphereon/ssi-sdk.agent-config": "0.29.1-next.104+f55b05ba",
28
+ "@sphereon/ssi-types": "0.29.1-next.104+f55b05ba",
29
29
  "@types/uuid": "^9.0.8",
30
30
  "@veramo/remote-client": "4.2.0",
31
31
  "@veramo/remote-server": "4.2.0"
@@ -50,5 +50,5 @@
50
50
  "Veramo",
51
51
  "Credential Manager"
52
52
  ],
53
- "gitHead": "3000e7d897ac4ea58779ff2b578027bf9165be43"
53
+ "gitHead": "f55b05baa77e2a8acb72d5e74f3db710ef898958"
54
54
  }
@@ -7,6 +7,17 @@
7
7
  "properties": {
8
8
  "credential": {
9
9
  "$ref": "#/components/schemas/AddDigitalCredential"
10
+ },
11
+ "opts": {
12
+ "type": "object",
13
+ "properties": {
14
+ "maxTimeSkewInMS": {
15
+ "type": "number"
16
+ },
17
+ "hasher": {
18
+ "$ref": "#/components/schemas/Hasher"
19
+ }
20
+ }
10
21
  }
11
22
  },
12
23
  "required": [
@@ -69,7 +80,11 @@
69
80
  },
70
81
  "CredentialCorrelationType": {
71
82
  "type": "string",
72
- "const": "DID"
83
+ "enum": [
84
+ "DID",
85
+ "X509_CN",
86
+ "URL"
87
+ ]
73
88
  },
74
89
  "CredentialStateType": {
75
90
  "type": "string",
@@ -79,6 +94,28 @@
79
94
  "EXPIRED"
80
95
  ]
81
96
  },
97
+ "Hasher": {
98
+ "$comment": "(data: string, alg: string) => Uint8Array",
99
+ "type": "object",
100
+ "properties": {
101
+ "namedArgs": {
102
+ "type": "object",
103
+ "properties": {
104
+ "data": {
105
+ "type": "string"
106
+ },
107
+ "alg": {
108
+ "type": "string"
109
+ }
110
+ },
111
+ "required": [
112
+ "data",
113
+ "alg"
114
+ ],
115
+ "additionalProperties": false
116
+ }
117
+ }
118
+ },
82
119
  "DigitalCredential": {
83
120
  "type": "object",
84
121
  "properties": {
@@ -667,7 +704,8 @@
667
704
  "JcsEd25519Signature2020",
668
705
  "BbsBlsSignatureProof2020",
669
706
  "BbsBlsBoundSignatureProof2020",
670
- "JwtProof2020"
707
+ "JwtProof2020",
708
+ "SdJwtProof2024"
671
709
  ]
672
710
  },
673
711
  "IProofPurpose": {
@@ -980,7 +1018,7 @@
980
1018
  "additionalProperties": {
981
1019
  "anyOf": [
982
1020
  {
983
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1021
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
984
1022
  },
985
1023
  {
986
1024
  "not": {}
@@ -991,7 +1029,7 @@
991
1029
  {
992
1030
  "type": "array",
993
1031
  "items": {
994
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1032
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
995
1033
  }
996
1034
  }
997
1035
  ]
@@ -1022,7 +1060,7 @@
1022
1060
  "additionalProperties": {
1023
1061
  "anyOf": [
1024
1062
  {
1025
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1063
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1026
1064
  },
1027
1065
  {
1028
1066
  "not": {}
@@ -1033,7 +1071,7 @@
1033
1071
  {
1034
1072
  "type": "array",
1035
1073
  "items": {
1036
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1074
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1037
1075
  }
1038
1076
  }
1039
1077
  ]
@@ -1043,7 +1081,7 @@
1043
1081
  }
1044
1082
  ]
1045
1083
  },
1046
- "alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598": {
1084
+ "alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797": {
1047
1085
  "anyOf": [
1048
1086
  {
1049
1087
  "type": "string"
@@ -1059,7 +1097,7 @@
1059
1097
  "additionalProperties": {
1060
1098
  "anyOf": [
1061
1099
  {
1062
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1100
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1063
1101
  },
1064
1102
  {
1065
1103
  "not": {}
@@ -1070,7 +1108,7 @@
1070
1108
  {
1071
1109
  "type": "array",
1072
1110
  "items": {
1073
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1111
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1074
1112
  }
1075
1113
  }
1076
1114
  ]
@@ -1142,7 +1180,7 @@
1142
1180
  "additionalProperties": {
1143
1181
  "anyOf": [
1144
1182
  {
1145
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1183
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1146
1184
  },
1147
1185
  {
1148
1186
  "not": {}
@@ -1153,7 +1191,7 @@
1153
1191
  {
1154
1192
  "type": "array",
1155
1193
  "items": {
1156
- "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-135-244-pes_sd-jwt-vc.d.ts-0-7598"
1194
+ "$ref": "#/components/schemas/alias-pes_sd-jwt-vc.d.ts-158-267-pes_sd-jwt-vc.d.ts-0-7797"
1157
1195
  }
1158
1196
  },
1159
1197
  {
@@ -1,4 +1,5 @@
1
1
  import { IAgentPlugin } from '@veramo/core'
2
+ import crypto from 'crypto'
2
3
  import {
3
4
  AddCredentialArgs,
4
5
  credentialIdOrHashFilter,
@@ -58,7 +59,7 @@ export class CredentialStore implements IAgentPlugin {
58
59
 
59
60
  /** {@inheritDoc ICRManager.crmAddCredential} */
60
61
  private async crsAddCredential(args: AddCredentialArgs): Promise<DigitalCredential> {
61
- return await this.store.addCredential(args.credential)
62
+ return await this.store.addCredential({ ...args.credential, opts: { ...args.opts, hasher: args.opts?.hasher ?? this.generateDigest } })
62
63
  }
63
64
 
64
65
  /** {@inheritDoc ICRManager.updateCredentialState} */
@@ -217,6 +218,13 @@ export class CredentialStore implements IAgentPlugin {
217
218
  return credentialsByClaims.length // FIXME ?
218
219
  }
219
220
 
221
+ private secureParse<Type>(original: string): Type {
222
+ if (original.includes('~')) {
223
+ return original as Type
224
+ }
225
+ return JSON.parse(original)
226
+ }
227
+
220
228
  private toUniqueCredentials(credentials: Array<DigitalCredential>): Array<UniqueDigitalCredential> {
221
229
  return Object.values(
222
230
  credentials.reduce(
@@ -227,21 +235,21 @@ export class CredentialStore implements IAgentPlugin {
227
235
  }
228
236
  switch (credential.documentType) {
229
237
  case DocumentType.VC:
230
- uniqueCredential.originalVerifiableCredential = JSON.parse(credential.rawDocument)
231
- uniqueCredential.uniformVerifiableCredential = JSON.parse(credential.uniformDocument)
238
+ uniqueCredential.originalVerifiableCredential = this.secureParse(credential.rawDocument)
239
+ uniqueCredential.uniformVerifiableCredential = this.secureParse(credential.uniformDocument)
232
240
  uniqueCredential.id = uniqueCredential.uniformVerifiableCredential?.id
233
241
  break
234
242
  case DocumentType.VP:
235
- uniqueCredential.originalVerifiablePresentation = JSON.parse(credential.rawDocument)
236
- uniqueCredential.uniformVerifiablePresentation = JSON.parse(credential.uniformDocument)
243
+ uniqueCredential.originalVerifiablePresentation = this.secureParse(credential.rawDocument)
244
+ uniqueCredential.uniformVerifiablePresentation = this.secureParse(credential.uniformDocument)
237
245
  uniqueCredential.id = uniqueCredential.uniformVerifiablePresentation?.id
238
246
  break
239
247
  case DocumentType.P:
240
- uniqueCredential.originalPresentation = JSON.parse(credential.rawDocument)
248
+ uniqueCredential.originalPresentation = this.secureParse(credential.rawDocument)
241
249
  uniqueCredential.id = uniqueCredential.originalPresentation?.id
242
250
  break
243
251
  case DocumentType.C:
244
- uniqueCredential.originalCredential = JSON.parse(credential.rawDocument)
252
+ uniqueCredential.originalCredential = this.secureParse(credential.rawDocument)
245
253
  uniqueCredential.id = uniqueCredential.originalCredential?.id
246
254
  break
247
255
  // TODO CBOR support
@@ -253,4 +261,8 @@ export class CredentialStore implements IAgentPlugin {
253
261
  ),
254
262
  )
255
263
  }
264
+
265
+ private generateDigest = (data: string, algorithm: string): Uint8Array => {
266
+ return new Uint8Array(crypto.createHash(algorithm).update(data).digest())
267
+ }
256
268
  }
@@ -1,9 +1,23 @@
1
+ import { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'
2
+ import {
3
+ CredentialRole,
4
+ DigitalCredential,
5
+ FindDigitalCredentialArgs,
6
+ NonPersistedDigitalCredential,
7
+ UpdateCredentialStateArgs,
8
+ } from '@sphereon/ssi-sdk.data-store'
9
+ import {
10
+ Hasher,
11
+ ICredential,
12
+ IPresentation,
13
+ IVerifiableCredential,
14
+ OriginalVerifiableCredential,
15
+ OriginalVerifiablePresentation,
16
+ } from '@sphereon/ssi-types'
1
17
  import { IAgentContext, IPluginMethodMap } from '@veramo/core'
2
- import { CredentialRole, DigitalCredential, UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store'
3
- import { FindDigitalCredentialArgs } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/IAbstractDigitalCredentialStore'
4
- import { NonPersistedDigitalCredential } from '@sphereon/ssi-sdk.data-store/dist/types/digitalCredential/digitalCredential'
5
18
  import { FindClaimsArgs } from './claims'
6
- import { ICredential, IPresentation, IVerifiableCredential, OriginalVerifiableCredential, OriginalVerifiablePresentation } from '@sphereon/ssi-types'
19
+
20
+ export type { UpdateCredentialStateArgs } // TODO create a local copy?
7
21
 
8
22
  export interface ICredentialStore extends IPluginMethodMap {
9
23
  /**
@@ -38,8 +52,7 @@ export interface ICredentialStore extends IPluginMethodMap {
38
52
 
39
53
  /**
40
54
  * Find one credential by id or hash
41
- * @param CredentialRole
42
- * @param idOrHash
55
+ * @param args
43
56
  */
44
57
  crsGetUniqueCredentialByIdOrHash(args: GetCredentialsByIdOrHashArgs): Promise<OptionalUniqueDigitalCredential>
45
58
 
@@ -68,6 +81,15 @@ export interface ICredentialStore extends IPluginMethodMap {
68
81
  crsDeleteCredentials(args: DeleteCredentialsArgs): Promise<number>
69
82
  }
70
83
 
84
+ /**
85
+ *
86
+ * @param context
87
+ * @internal
88
+ */
89
+ export function contextHasCredentialStore(context: IAgentContext<IPluginMethodMap>): context is IAgentContext<ICredentialStore> {
90
+ return contextHasPlugin(context, 'crsGetCredential')
91
+ }
92
+
71
93
  export type GetCredentialArgs = {
72
94
  id: string
73
95
  }
@@ -98,10 +120,9 @@ export type AddDigitalCredential = Omit<
98
120
 
99
121
  export type AddCredentialArgs = {
100
122
  credential: AddDigitalCredential
123
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
101
124
  }
102
125
 
103
- export type { UpdateCredentialStateArgs } from '@sphereon/ssi-sdk.data-store' // TODO create a local copy?
104
-
105
126
  export interface UniqueDigitalCredential {
106
127
  hash: string
107
128
  id?: string