@veramo/credential-ld 6.0.1-next.4 → 6.0.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.
Files changed (55) hide show
  1. package/build/CredentialProviderLD.d.ts +42 -0
  2. package/build/CredentialProviderLD.d.ts.map +1 -0
  3. package/build/{action-handler.js → CredentialProviderLD.js} +38 -25
  4. package/build/CredentialProviderLD.js.map +1 -0
  5. package/build/index.d.ts +3 -4
  6. package/build/index.d.ts.map +1 -1
  7. package/build/index.js +3 -4
  8. package/build/index.js.map +1 -1
  9. package/build/ld-credential-module.d.ts +4 -4
  10. package/build/ld-credential-module.d.ts.map +1 -1
  11. package/build/ld-credential-module.js.map +1 -1
  12. package/build/ld-default-contexts.d.ts +1 -1
  13. package/build/ld-default-contexts.js +1 -1
  14. package/build/ld-suites.d.ts +1 -0
  15. package/build/ld-suites.d.ts.map +1 -1
  16. package/build/ld-suites.js.map +1 -1
  17. package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts +1 -0
  18. package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts.map +1 -1
  19. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js +3 -0
  20. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js.map +1 -1
  21. package/build/suites/Ed25519Signature2018.d.ts +1 -0
  22. package/build/suites/Ed25519Signature2018.d.ts.map +1 -1
  23. package/build/suites/Ed25519Signature2018.js +3 -0
  24. package/build/suites/Ed25519Signature2018.js.map +1 -1
  25. package/build/suites/Ed25519Signature2020.d.ts +1 -0
  26. package/build/suites/Ed25519Signature2020.d.ts.map +1 -1
  27. package/build/suites/Ed25519Signature2020.js +3 -0
  28. package/build/suites/Ed25519Signature2020.js.map +1 -1
  29. package/build/suites/JsonWebSignature2020.d.ts +1 -0
  30. package/build/suites/JsonWebSignature2020.d.ts.map +1 -1
  31. package/build/suites/JsonWebSignature2020.js +3 -0
  32. package/build/suites/JsonWebSignature2020.js.map +1 -1
  33. package/build/types.d.ts +0 -220
  34. package/build/types.d.ts.map +1 -1
  35. package/package.json +6 -10
  36. package/src/{action-handler.ts → CredentialProviderLD.ts} +61 -40
  37. package/src/__tests__/issue-verify-ed25519-2020.test.ts +122 -122
  38. package/src/__tests__/{issue-verify-flow.test.ts → issue-verify-flow-ld.test.ts} +7 -6
  39. package/src/index.ts +3 -4
  40. package/src/ld-credential-module.ts +4 -3
  41. package/src/ld-default-contexts.ts +1 -1
  42. package/src/ld-suites.ts +2 -0
  43. package/src/suites/EcdsaSecp256k1RecoverySignature2020.ts +6 -1
  44. package/src/suites/Ed25519Signature2018.ts +5 -0
  45. package/src/suites/Ed25519Signature2020.ts +5 -1
  46. package/src/suites/JsonWebSignature2020.ts +5 -1
  47. package/src/types.ts +0 -265
  48. package/build/action-handler.d.ts +0 -461
  49. package/build/action-handler.d.ts.map +0 -1
  50. package/build/action-handler.js.map +0 -1
  51. package/build/plugin.schema.d.ts +0 -430
  52. package/build/plugin.schema.d.ts.map +0 -1
  53. package/build/plugin.schema.js +0 -477
  54. package/build/plugin.schema.js.map +0 -1
  55. package/src/plugin.schema.ts +0 -476
@@ -1,461 +0,0 @@
1
- import { IAgentPlugin, IKey, VerifiableCredential, VerifiablePresentation } from '@veramo/core-types';
2
- import { VeramoLdSignature } from './index.js';
3
- import { OrPromise, RecordLike } from '@veramo/utils';
4
- import { ContextDoc, ICreateVerifiableCredentialLDArgs, ICreateVerifiablePresentationLDArgs, ICredentialIssuerLD, IRequiredContext, IVerifyCredentialLDArgs, IVerifyPresentationLDArgs } from './types.js';
5
- /**
6
- * A Veramo plugin that implements the {@link ICredentialIssuerLD} methods.
7
- *
8
- * @public
9
- */
10
- export declare class CredentialIssuerLD implements IAgentPlugin {
11
- readonly methods: ICredentialIssuerLD;
12
- readonly schema: {
13
- components: {
14
- schemas: {
15
- ICreateVerifiableCredentialLDArgs: {
16
- type: string;
17
- properties: {
18
- resolutionOptions: {
19
- type: string;
20
- properties: {
21
- publicKeyFormat: {
22
- type: string;
23
- };
24
- accept: {
25
- type: string;
26
- };
27
- };
28
- description: string;
29
- };
30
- credential: {
31
- $ref: string;
32
- description: string;
33
- };
34
- keyRef: {
35
- type: string;
36
- description: string;
37
- };
38
- fetchRemoteContexts: {
39
- type: string;
40
- description: string;
41
- };
42
- };
43
- required: string[];
44
- additionalProperties: {
45
- description: string;
46
- };
47
- description: string;
48
- };
49
- CredentialPayload: {
50
- type: string;
51
- properties: {
52
- issuer: {
53
- $ref: string;
54
- };
55
- credentialSubject: {
56
- $ref: string;
57
- };
58
- type: {
59
- type: string;
60
- items: {
61
- type: string;
62
- };
63
- };
64
- "@context": {
65
- $ref: string;
66
- };
67
- issuanceDate: {
68
- $ref: string;
69
- };
70
- expirationDate: {
71
- $ref: string;
72
- };
73
- credentialStatus: {
74
- $ref: string;
75
- };
76
- id: {
77
- type: string;
78
- };
79
- };
80
- required: string[];
81
- description: string;
82
- };
83
- IssuerType: {
84
- anyOf: ({
85
- type: string;
86
- properties: {
87
- id: {
88
- type: string;
89
- };
90
- };
91
- required: string[];
92
- } | {
93
- type: string;
94
- properties?: undefined;
95
- required?: undefined;
96
- })[];
97
- description: string;
98
- };
99
- CredentialSubject: {
100
- type: string;
101
- properties: {
102
- id: {
103
- type: string;
104
- };
105
- };
106
- description: string;
107
- };
108
- ContextType: {
109
- anyOf: ({
110
- type: string;
111
- items?: undefined;
112
- } | {
113
- type: string;
114
- items: {
115
- anyOf: {
116
- type: string;
117
- }[];
118
- };
119
- })[];
120
- description: string;
121
- };
122
- DateType: {
123
- type: string;
124
- description: string;
125
- };
126
- CredentialStatusReference: {
127
- type: string;
128
- properties: {
129
- id: {
130
- type: string;
131
- };
132
- type: {
133
- type: string;
134
- };
135
- };
136
- required: string[];
137
- description: string;
138
- };
139
- VerifiableCredential: {
140
- type: string;
141
- properties: {
142
- proof: {
143
- $ref: string;
144
- };
145
- issuer: {
146
- $ref: string;
147
- };
148
- credentialSubject: {
149
- $ref: string;
150
- };
151
- type: {
152
- anyOf: ({
153
- type: string;
154
- items: {
155
- type: string;
156
- };
157
- } | {
158
- type: string;
159
- items?: undefined;
160
- })[];
161
- };
162
- "@context": {
163
- $ref: string;
164
- };
165
- issuanceDate: {
166
- type: string;
167
- };
168
- expirationDate: {
169
- type: string;
170
- };
171
- credentialStatus: {
172
- $ref: string;
173
- };
174
- id: {
175
- type: string;
176
- };
177
- };
178
- required: string[];
179
- description: string;
180
- };
181
- ProofType: {
182
- type: string;
183
- properties: {
184
- type: {
185
- type: string;
186
- };
187
- };
188
- description: string;
189
- };
190
- ICreateVerifiablePresentationLDArgs: {
191
- type: string;
192
- properties: {
193
- resolutionOptions: {
194
- type: string;
195
- properties: {
196
- publicKeyFormat: {
197
- type: string;
198
- };
199
- accept: {
200
- type: string;
201
- };
202
- };
203
- description: string;
204
- };
205
- presentation: {
206
- $ref: string;
207
- description: string;
208
- };
209
- challenge: {
210
- type: string;
211
- description: string;
212
- };
213
- domain: {
214
- type: string;
215
- description: string;
216
- };
217
- keyRef: {
218
- type: string;
219
- description: string;
220
- };
221
- fetchRemoteContexts: {
222
- type: string;
223
- description: string;
224
- };
225
- };
226
- required: string[];
227
- additionalProperties: {
228
- description: string;
229
- };
230
- description: string;
231
- };
232
- PresentationPayload: {
233
- type: string;
234
- properties: {
235
- holder: {
236
- type: string;
237
- };
238
- verifiableCredential: {
239
- type: string;
240
- items: {
241
- $ref: string;
242
- };
243
- };
244
- type: {
245
- type: string;
246
- items: {
247
- type: string;
248
- };
249
- };
250
- "@context": {
251
- $ref: string;
252
- };
253
- verifier: {
254
- type: string;
255
- items: {
256
- type: string;
257
- };
258
- };
259
- issuanceDate: {
260
- $ref: string;
261
- };
262
- expirationDate: {
263
- $ref: string;
264
- };
265
- id: {
266
- type: string;
267
- };
268
- };
269
- required: string[];
270
- description: string;
271
- };
272
- W3CVerifiableCredential: {
273
- anyOf: {
274
- $ref: string;
275
- }[];
276
- description: string;
277
- };
278
- CompactJWT: {
279
- type: string;
280
- description: string;
281
- };
282
- VerifiablePresentation: {
283
- type: string;
284
- properties: {
285
- proof: {
286
- $ref: string;
287
- };
288
- holder: {
289
- type: string;
290
- };
291
- verifiableCredential: {
292
- type: string;
293
- items: {
294
- $ref: string;
295
- };
296
- };
297
- type: {
298
- anyOf: ({
299
- type: string;
300
- items: {
301
- type: string;
302
- };
303
- } | {
304
- type: string;
305
- items?: undefined;
306
- })[];
307
- };
308
- "@context": {
309
- $ref: string;
310
- };
311
- verifier: {
312
- type: string;
313
- items: {
314
- type: string;
315
- };
316
- };
317
- issuanceDate: {
318
- type: string;
319
- };
320
- expirationDate: {
321
- type: string;
322
- };
323
- id: {
324
- type: string;
325
- };
326
- };
327
- required: string[];
328
- description: string;
329
- };
330
- IVerifyCredentialLDArgs: {
331
- type: string;
332
- properties: {
333
- resolutionOptions: {
334
- type: string;
335
- properties: {
336
- publicKeyFormat: {
337
- type: string;
338
- };
339
- accept: {
340
- type: string;
341
- };
342
- };
343
- description: string;
344
- };
345
- credential: {
346
- $ref: string;
347
- description: string;
348
- };
349
- fetchRemoteContexts: {
350
- type: string;
351
- description: string;
352
- };
353
- };
354
- required: string[];
355
- additionalProperties: {
356
- description: string;
357
- };
358
- description: string;
359
- };
360
- IVerifyPresentationLDArgs: {
361
- type: string;
362
- properties: {
363
- resolutionOptions: {
364
- type: string;
365
- properties: {
366
- publicKeyFormat: {
367
- type: string;
368
- };
369
- accept: {
370
- type: string;
371
- };
372
- };
373
- description: string;
374
- };
375
- presentation: {
376
- $ref: string;
377
- description: string;
378
- };
379
- challenge: {
380
- type: string;
381
- description: string;
382
- };
383
- domain: {
384
- type: string;
385
- description: string;
386
- };
387
- fetchRemoteContexts: {
388
- type: string;
389
- description: string;
390
- };
391
- };
392
- required: string[];
393
- additionalProperties: {
394
- description: string;
395
- };
396
- description: string;
397
- };
398
- };
399
- methods: {
400
- createVerifiableCredentialLD: {
401
- description: string;
402
- arguments: {
403
- $ref: string;
404
- };
405
- returnType: {
406
- $ref: string;
407
- };
408
- };
409
- createVerifiablePresentationLD: {
410
- description: string;
411
- arguments: {
412
- $ref: string;
413
- };
414
- returnType: {
415
- $ref: string;
416
- };
417
- };
418
- verifyCredentialLD: {
419
- description: string;
420
- arguments: {
421
- $ref: string;
422
- };
423
- returnType: {
424
- type: string;
425
- };
426
- };
427
- verifyPresentationLD: {
428
- description: string;
429
- arguments: {
430
- $ref: string;
431
- };
432
- returnType: {
433
- type: string;
434
- };
435
- };
436
- };
437
- };
438
- };
439
- private ldCredentialModule;
440
- constructor(options: {
441
- contextMaps: RecordLike<OrPromise<ContextDoc>>[];
442
- suites: VeramoLdSignature[];
443
- });
444
- /** {@inheritdoc ICredentialIssuerLD.createVerifiablePresentationLD} */
445
- createVerifiablePresentationLD(args: ICreateVerifiablePresentationLDArgs, context: IRequiredContext): Promise<VerifiablePresentation>;
446
- /** {@inheritdoc ICredentialIssuerLD.createVerifiableCredentialLD} */
447
- createVerifiableCredentialLD(args: ICreateVerifiableCredentialLDArgs, context: IRequiredContext): Promise<VerifiableCredential>;
448
- /** {@inheritdoc ICredentialIssuerLD.verifyCredentialLD} */
449
- verifyCredentialLD(args: IVerifyCredentialLDArgs, context: IRequiredContext): Promise<boolean>;
450
- /** {@inheritdoc ICredentialIssuerLD.verifyPresentationLD} */
451
- verifyPresentationLD(args: IVerifyPresentationLDArgs, context: IRequiredContext): Promise<boolean>;
452
- private findSigningKeyWithId;
453
- /**
454
- * Returns true if the key is supported by any of the installed LD Signature suites
455
- * @param k - the key to match
456
- *
457
- * @internal
458
- */
459
- matchKeyForLDSuite(k: IKey): Promise<boolean>;
460
- }
461
- //# sourceMappingURL=action-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-handler.d.ts","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,IAAI,EAGJ,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C,OAAO,EAOL,SAAS,EAET,UAAU,EAEX,MAAM,eAAe,CAAA;AAItB,OAAO,EACL,UAAU,EACV,iCAAiC,EACjC,mCAAmC,EACnC,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AAKnB;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA6B;IAE5C,OAAO,CAAC,kBAAkB,CAAoB;gBAElC,OAAO,EAAE;QAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;KAAE;IAetG,uEAAuE;IAC1D,8BAA8B,CACzC,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC;IAoElC,qEAAqE;IACxD,4BAA4B,CACvC,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAkDhC,2DAA2D;IAC9C,kBAAkB,CAC7B,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;IAWnB,6DAA6D;IAChD,oBAAoB,CAC/B,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC;YAeL,oBAAoB;IAsClC;;;;;OAKG;IACG,kBAAkB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;CAiBpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-handler.js","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"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"}