@sphereon/ssi-sdk.vc-status-list 0.33.0 → 0.33.1-feature.vcdm2.tsup.18

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 (51) hide show
  1. package/dist/index.cjs +993 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +275 -0
  4. package/dist/index.d.ts +273 -3
  5. package/dist/index.js +944 -19
  6. package/dist/index.js.map +1 -1
  7. package/package.json +26 -16
  8. package/src/functions.ts +2 -0
  9. package/src/impl/encoding/cbor.ts +1 -1
  10. package/src/types/index.ts +1 -1
  11. package/dist/functions.d.ts +0 -69
  12. package/dist/functions.d.ts.map +0 -1
  13. package/dist/functions.js +0 -200
  14. package/dist/functions.js.map +0 -1
  15. package/dist/impl/IStatusList.d.ts +0 -26
  16. package/dist/impl/IStatusList.d.ts.map +0 -1
  17. package/dist/impl/IStatusList.js +0 -3
  18. package/dist/impl/IStatusList.js.map +0 -1
  19. package/dist/impl/OAuthStatusList.d.ts +0 -21
  20. package/dist/impl/OAuthStatusList.d.ts.map +0 -1
  21. package/dist/impl/OAuthStatusList.js +0 -155
  22. package/dist/impl/OAuthStatusList.js.map +0 -1
  23. package/dist/impl/StatusList2021.d.ts +0 -16
  24. package/dist/impl/StatusList2021.d.ts.map +0 -1
  25. package/dist/impl/StatusList2021.js +0 -186
  26. package/dist/impl/StatusList2021.js.map +0 -1
  27. package/dist/impl/StatusListFactory.d.ts +0 -11
  28. package/dist/impl/StatusListFactory.d.ts.map +0 -1
  29. package/dist/impl/StatusListFactory.js +0 -32
  30. package/dist/impl/StatusListFactory.js.map +0 -1
  31. package/dist/impl/encoding/cbor.d.ts +0 -6
  32. package/dist/impl/encoding/cbor.d.ts.map +0 -1
  33. package/dist/impl/encoding/cbor.js +0 -140
  34. package/dist/impl/encoding/cbor.js.map +0 -1
  35. package/dist/impl/encoding/common.d.ts +0 -12
  36. package/dist/impl/encoding/common.d.ts.map +0 -1
  37. package/dist/impl/encoding/common.js +0 -17
  38. package/dist/impl/encoding/common.js.map +0 -1
  39. package/dist/impl/encoding/jwt.d.ts +0 -9
  40. package/dist/impl/encoding/jwt.d.ts.map +0 -1
  41. package/dist/impl/encoding/jwt.js +0 -74
  42. package/dist/impl/encoding/jwt.js.map +0 -1
  43. package/dist/index.d.ts.map +0 -1
  44. package/dist/types/index.d.ts +0 -209
  45. package/dist/types/index.d.ts.map +0 -1
  46. package/dist/types/index.js +0 -15
  47. package/dist/types/index.js.map +0 -1
  48. package/dist/utils.d.ts +0 -17
  49. package/dist/utils.d.ts.map +0 -1
  50. package/dist/utils.js +0 -88
  51. package/dist/utils.js.map +0 -1
@@ -1,26 +0,0 @@
1
- import { IAgentContext, ICredentialPlugin } from '@veramo/core';
2
- import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
3
- import { CheckStatusIndexArgs, CreateStatusListArgs, Status2021, StatusListResult, StatusOAuth, ToStatusListDetailsArgs, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from '../types';
4
- export interface IStatusList {
5
- /**
6
- * Creates a new status list of the specific type
7
- */
8
- createNewStatusList(args: CreateStatusListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
9
- /**
10
- * Updates a status at the given index in the status list
11
- */
12
- updateStatusListIndex(args: UpdateStatusListIndexArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
13
- /**
14
- * Updates a status list using a base64 encoded list of statuses
15
- */
16
- updateStatusListFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
17
- /**
18
- * Checks the status at a given index in the status list
19
- */
20
- checkStatusIndex(args: CheckStatusIndexArgs): Promise<number | Status2021 | StatusOAuth>;
21
- /**
22
- * Collects the status list details
23
- */
24
- toStatusListDetails(args: ToStatusListDetailsArgs): Promise<StatusListResult>;
25
- }
26
- //# sourceMappingURL=IStatusList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IStatusList.d.ts","sourceRoot":"","sources":["../../src/impl/IStatusList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE7I;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAEpJ;;OAEG;IACH,+BAA+B,CAC7B,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE5B;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC,CAAA;IAExF;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC9E"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IStatusList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IStatusList.js","sourceRoot":"","sources":["../../src/impl/IStatusList.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import { IAgentContext, ICredentialPlugin, IKeyManager } from '@veramo/core';
2
- import { ProofFormat } from '@sphereon/ssi-types';
3
- import { CheckStatusIndexArgs, CreateStatusListArgs, StatusListResult, StatusOAuth, ToStatusListDetailsArgs, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from '../types';
4
- import { IStatusList } from './IStatusList';
5
- import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
6
- import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
7
- type IRequiredContext = IAgentContext<ICredentialPlugin & IJwtService & IIdentifierResolution & IKeyManager>;
8
- export declare const DEFAULT_BITS_PER_STATUS = 1;
9
- export declare const DEFAULT_LIST_LENGTH = 250000;
10
- export declare const DEFAULT_PROOF_FORMAT: ProofFormat;
11
- export declare class OAuthStatusListImplementation implements IStatusList {
12
- createNewStatusList(args: CreateStatusListArgs, context: IRequiredContext): Promise<StatusListResult>;
13
- updateStatusListIndex(args: UpdateStatusListIndexArgs, context: IRequiredContext): Promise<StatusListResult>;
14
- updateStatusListFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IRequiredContext): Promise<StatusListResult>;
15
- private buildContentType;
16
- checkStatusIndex(args: CheckStatusIndexArgs): Promise<number | StatusOAuth>;
17
- toStatusListDetails(args: ToStatusListDetailsArgs): Promise<StatusListResult>;
18
- private createSignedStatusList;
19
- }
20
- export {};
21
- //# sourceMappingURL=OAuthStatusList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OAuthStatusList.d.ts","sourceRoot":"","sources":["../../src/impl/OAuthStatusList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAmB,WAAW,EAAkB,MAAM,qBAAqB,CAAA;AAClF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAEpB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAInF,KAAK,gBAAgB,GAAG,aAAa,CAAC,iBAAiB,GAAG,WAAW,GAAG,qBAAqB,GAAG,WAAW,CAAC,CAAA;AAE5G,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAA;AACzC,eAAO,MAAM,oBAAoB,EAAY,WAAW,CAAA;AAExD,qBAAa,6BAA8B,YAAW,WAAW;IACzD,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8BrG,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0C5G,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyCtI,OAAO,CAAC,gBAAgB;IAIlB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;IAiB3E,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAwBrE,sBAAsB;CAoBrC"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.OAuthStatusListImplementation = exports.DEFAULT_PROOF_FORMAT = exports.DEFAULT_LIST_LENGTH = exports.DEFAULT_BITS_PER_STATUS = void 0;
13
- const ssi_types_1 = require("@sphereon/ssi-types");
14
- const utils_1 = require("../utils");
15
- const jwt_status_list_1 = require("@sd-jwt/jwt-status-list");
16
- const jwt_1 = require("./encoding/jwt");
17
- const cbor_1 = require("./encoding/cbor");
18
- exports.DEFAULT_BITS_PER_STATUS = 1; // 1 bit is sufficient for 0x00 - "VALID" 0x01 - "INVALID" saving space in the process
19
- exports.DEFAULT_LIST_LENGTH = 250000;
20
- exports.DEFAULT_PROOF_FORMAT = 'jwt';
21
- class OAuthStatusListImplementation {
22
- createNewStatusList(args, context) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- var _a, _b;
25
- if (!args.oauthStatusList) {
26
- throw new Error('OAuthStatusList options are required for type OAuthStatusList');
27
- }
28
- const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : exports.DEFAULT_PROOF_FORMAT;
29
- const { issuer, id, oauthStatusList, keyRef } = args;
30
- const { bitsPerStatus, expiresAt } = oauthStatusList;
31
- const length = (_b = args.length) !== null && _b !== void 0 ? _b : exports.DEFAULT_LIST_LENGTH;
32
- const issuerString = typeof issuer === 'string' ? issuer : issuer.id;
33
- const correlationId = (0, utils_1.getAssertedValue)('correlationId', args.correlationId);
34
- const statusList = new jwt_status_list_1.StatusList(new Array(length).fill(0), bitsPerStatus !== null && bitsPerStatus !== void 0 ? bitsPerStatus : exports.DEFAULT_BITS_PER_STATUS);
35
- const encodedList = statusList.compressStatusList();
36
- const { statusListCredential } = yield this.createSignedStatusList(proofFormat, context, statusList, issuerString, id, expiresAt, keyRef);
37
- return {
38
- encodedList,
39
- statusListCredential,
40
- oauthStatusList: { bitsPerStatus },
41
- length,
42
- type: ssi_types_1.StatusListType.OAuthStatusList,
43
- proofFormat,
44
- id,
45
- correlationId,
46
- issuer,
47
- statuslistContentType: this.buildContentType(proofFormat),
48
- };
49
- });
50
- }
51
- updateStatusListIndex(args, context) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const { statusListCredential, value, expiresAt, keyRef } = args;
54
- if (typeof statusListCredential !== 'string') {
55
- return Promise.reject('statusListCredential in neither JWT nor CWT');
56
- }
57
- const proofFormat = (0, utils_1.determineProofFormat)(statusListCredential);
58
- const decoded = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListCredential) : (0, cbor_1.decodeStatusListCWT)(statusListCredential);
59
- const { statusList, issuer, id } = decoded;
60
- const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
61
- if (index < 0 || index >= statusList.statusList.length) {
62
- throw new Error('Status list index out of bounds');
63
- }
64
- statusList.setStatus(index, value);
65
- const { statusListCredential: signedCredential, encodedList } = yield this.createSignedStatusList(proofFormat, context, statusList, issuer, id, expiresAt, keyRef);
66
- return {
67
- statusListCredential: signedCredential,
68
- encodedList,
69
- oauthStatusList: {
70
- bitsPerStatus: statusList.getBitsPerStatus(),
71
- },
72
- length: statusList.statusList.length,
73
- type: ssi_types_1.StatusListType.OAuthStatusList,
74
- proofFormat,
75
- id,
76
- issuer,
77
- statuslistContentType: this.buildContentType(proofFormat),
78
- };
79
- });
80
- }
81
- // FIXME: This still assumes only two values (boolean), whilst this list supports 8 bits max
82
- updateStatusListFromEncodedList(args, context) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- if (!args.oauthStatusList) {
85
- throw new Error('OAuthStatusList options are required for type OAuthStatusList');
86
- }
87
- const { proofFormat, oauthStatusList, keyRef } = args;
88
- const { bitsPerStatus, expiresAt } = oauthStatusList;
89
- const { issuer, id } = (0, utils_1.getAssertedValues)(args);
90
- const issuerString = typeof issuer === 'string' ? issuer : issuer.id;
91
- const listToUpdate = jwt_status_list_1.StatusList.decompressStatusList(args.encodedList, bitsPerStatus !== null && bitsPerStatus !== void 0 ? bitsPerStatus : exports.DEFAULT_BITS_PER_STATUS);
92
- const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
93
- // FIXME: See above.
94
- listToUpdate.setStatus(index, args.value ? 1 : 0);
95
- const { statusListCredential, encodedList } = yield this.createSignedStatusList(proofFormat !== null && proofFormat !== void 0 ? proofFormat : exports.DEFAULT_PROOF_FORMAT, context, listToUpdate, issuerString, id, expiresAt, keyRef);
96
- return {
97
- encodedList,
98
- statusListCredential,
99
- oauthStatusList: {
100
- bitsPerStatus,
101
- expiresAt,
102
- },
103
- length: listToUpdate.statusList.length,
104
- type: ssi_types_1.StatusListType.OAuthStatusList,
105
- proofFormat: proofFormat !== null && proofFormat !== void 0 ? proofFormat : exports.DEFAULT_PROOF_FORMAT,
106
- id,
107
- issuer,
108
- statuslistContentType: this.buildContentType(proofFormat),
109
- };
110
- });
111
- }
112
- buildContentType(proofFormat) {
113
- return `application/statuslist+${proofFormat === 'cbor' ? 'cwt' : 'jwt'}`;
114
- }
115
- checkStatusIndex(args) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const { statusListCredential, statusListIndex } = args;
118
- if (typeof statusListCredential !== 'string') {
119
- return Promise.reject('statusListCredential in neither JWT nor CWT');
120
- }
121
- const proofFormat = (0, utils_1.determineProofFormat)(statusListCredential);
122
- const { statusList } = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListCredential) : (0, cbor_1.decodeStatusListCWT)(statusListCredential);
123
- const index = typeof statusListIndex === 'number' ? statusListIndex : parseInt(statusListIndex);
124
- if (index < 0 || index >= statusList.statusList.length) {
125
- throw new Error('Status list index out of bounds');
126
- }
127
- return statusList.getStatus(index);
128
- });
129
- }
130
- toStatusListDetails(args) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- const { statusListPayload } = args;
133
- const proofFormat = (0, utils_1.determineProofFormat)(statusListPayload);
134
- const decoded = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListPayload) : (0, cbor_1.decodeStatusListCWT)(statusListPayload);
135
- const { statusList, issuer, id, exp } = decoded;
136
- return Object.assign(Object.assign({ id, encodedList: statusList.compressStatusList(), issuer, type: ssi_types_1.StatusListType.OAuthStatusList, proofFormat, length: statusList.statusList.length, statusListCredential: statusListPayload, statuslistContentType: this.buildContentType(proofFormat), oauthStatusList: Object.assign({ bitsPerStatus: statusList.getBitsPerStatus() }, (exp && { expiresAt: new Date(exp * 1000) })) }, (args.correlationId && { correlationId: args.correlationId })), (args.driverType && { driverType: args.driverType }));
137
- });
138
- }
139
- createSignedStatusList(proofFormat, context, statusList, issuerString, id, expiresAt, keyRef) {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- switch (proofFormat) {
142
- case 'jwt': {
143
- return yield (0, jwt_1.createSignedJwt)(context, statusList, issuerString, id, expiresAt, keyRef);
144
- }
145
- case 'cbor': {
146
- return yield (0, cbor_1.createSignedCbor)(context, statusList, issuerString, id, expiresAt, keyRef);
147
- }
148
- default:
149
- throw new Error(`Invalid proof format '${proofFormat}' for OAuthStatusList`);
150
- }
151
- });
152
- }
153
- }
154
- exports.OAuthStatusListImplementation = OAuthStatusListImplementation;
155
- //# sourceMappingURL=OAuthStatusList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OAuthStatusList.js","sourceRoot":"","sources":["../../src/impl/OAuthStatusList.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { IAgentContext, ICredentialPlugin, ProofFormat as VeramoProofFormat } from '@veramo/core';
2
- import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
3
- import { IStatusList } from './IStatusList';
4
- import { CheckStatusIndexArgs, CreateStatusListArgs, Status2021, StatusListResult, ToStatusListDetailsArgs, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from '../types';
5
- export declare const DEFAULT_LIST_LENGTH = 250000;
6
- export declare const DEFAULT_PROOF_FORMAT: VeramoProofFormat;
7
- export declare class StatusList2021Implementation implements IStatusList {
8
- createNewStatusList(args: CreateStatusListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
9
- updateStatusListIndex(args: UpdateStatusListIndexArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
10
- updateStatusListFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
11
- checkStatusIndex(args: CheckStatusIndexArgs): Promise<number | Status2021>;
12
- toStatusListDetails(args: ToStatusListDetailsArgs): Promise<StatusListResult>;
13
- private createVerifiableCredential;
14
- private buildContentType;
15
- }
16
- //# sourceMappingURL=StatusList2021.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatusList2021.d.ts","sourceRoot":"","sources":["../../src/impl/StatusList2021.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAInF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAGjB,eAAO,MAAM,mBAAmB,SAAS,CAAA;AACzC,eAAO,MAAM,oBAAoB,EAAY,iBAAiB,CAAA;AAE9D,qBAAa,4BAA6B,YAAW,WAAW;IACxD,mBAAmB,CACvB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAuCtB,qBAAqB,CACzB,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAwCtB,+BAA+B,CACnC,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAyCtB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;IAU1E,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA6BrE,0BAA0B;IAuCxC,OAAO,CAAC,gBAAgB;CAYzB"}
@@ -1,186 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StatusList2021Implementation = exports.DEFAULT_PROOF_FORMAT = exports.DEFAULT_LIST_LENGTH = void 0;
13
- const ssi_types_1 = require("@sphereon/ssi-types");
14
- const vc_status_list_1 = require("@sphereon/vc-status-list");
15
- const types_1 = require("../types");
16
- const utils_1 = require("../utils");
17
- exports.DEFAULT_LIST_LENGTH = 250000;
18
- exports.DEFAULT_PROOF_FORMAT = 'lds';
19
- class StatusList2021Implementation {
20
- createNewStatusList(args, context) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- var _a, _b;
23
- const length = (_a = args === null || args === void 0 ? void 0 : args.length) !== null && _a !== void 0 ? _a : exports.DEFAULT_LIST_LENGTH;
24
- const proofFormat = (_b = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _b !== void 0 ? _b : exports.DEFAULT_PROOF_FORMAT;
25
- (0, utils_1.assertValidProofType)(ssi_types_1.StatusListType.StatusList2021, proofFormat);
26
- const veramoProofFormat = proofFormat;
27
- const { issuer, id } = args;
28
- const correlationId = (0, utils_1.getAssertedValue)('correlationId', args.correlationId);
29
- const list = new vc_status_list_1.StatusList({ length });
30
- const encodedList = yield list.encode();
31
- const statusPurpose = 'revocation';
32
- const statusListCredential = yield this.createVerifiableCredential(Object.assign(Object.assign({}, args), { encodedList, proofFormat: veramoProofFormat }), context);
33
- return {
34
- encodedList,
35
- statusListCredential: statusListCredential,
36
- statusList2021: {
37
- statusPurpose,
38
- indexingDirection: 'rightToLeft',
39
- },
40
- length,
41
- type: ssi_types_1.StatusListType.StatusList2021,
42
- proofFormat,
43
- id,
44
- correlationId,
45
- issuer,
46
- statuslistContentType: this.buildContentType(proofFormat),
47
- };
48
- });
49
- }
50
- updateStatusListIndex(args, context) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const credential = args.statusListCredential;
53
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(credential);
54
- const { issuer, credentialSubject } = uniform;
55
- const id = (0, utils_1.getAssertedValue)('id', uniform.id);
56
- const origEncodedList = (0, utils_1.getAssertedProperty)('encodedList', credentialSubject);
57
- const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
58
- const statusList = yield vc_status_list_1.StatusList.decode({ encodedList: origEncodedList });
59
- statusList.setStatus(index, args.value != 0);
60
- const encodedList = yield statusList.encode();
61
- const proofFormat = ssi_types_1.CredentialMapper.detectDocumentType(credential) === 0 /* DocumentFormat.JWT */ ? 'jwt' : 'lds';
62
- const updatedCredential = yield this.createVerifiableCredential(Object.assign(Object.assign({}, args), { id,
63
- issuer,
64
- encodedList, proofFormat: proofFormat }), context);
65
- return {
66
- statusListCredential: updatedCredential,
67
- encodedList,
68
- statusList2021: Object.assign(Object.assign({}, ('statusPurpose' in credentialSubject ? { statusPurpose: credentialSubject.statusPurpose } : {})), { indexingDirection: 'rightToLeft' }),
69
- length: statusList.length - 1,
70
- type: ssi_types_1.StatusListType.StatusList2021,
71
- proofFormat: proofFormat,
72
- id,
73
- issuer,
74
- statuslistContentType: this.buildContentType(proofFormat),
75
- };
76
- });
77
- }
78
- updateStatusListFromEncodedList(args, context) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- var _a, _b;
81
- if (!args.statusList2021) {
82
- throw new Error('statusList2021 options required for type StatusList2021');
83
- }
84
- const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : exports.DEFAULT_PROOF_FORMAT;
85
- (0, utils_1.assertValidProofType)(ssi_types_1.StatusListType.StatusList2021, proofFormat);
86
- const veramoProofFormat = proofFormat;
87
- const { issuer, id } = (0, utils_1.getAssertedValues)(args);
88
- const statusList = yield vc_status_list_1.StatusList.decode({ encodedList: args.encodedList });
89
- const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
90
- statusList.setStatus(index, args.value);
91
- const newEncodedList = yield statusList.encode();
92
- const credential = yield this.createVerifiableCredential({
93
- id,
94
- issuer,
95
- encodedList: newEncodedList,
96
- proofFormat: veramoProofFormat,
97
- keyRef: args.keyRef,
98
- }, context);
99
- return {
100
- type: ssi_types_1.StatusListType.StatusList2021,
101
- statusListCredential: credential,
102
- encodedList: newEncodedList,
103
- statusList2021: {
104
- statusPurpose: args.statusList2021.statusPurpose,
105
- indexingDirection: 'rightToLeft',
106
- },
107
- length: statusList.length,
108
- proofFormat: (_b = args.proofFormat) !== null && _b !== void 0 ? _b : 'lds',
109
- id: id,
110
- issuer: issuer,
111
- statuslistContentType: this.buildContentType(proofFormat),
112
- };
113
- });
114
- }
115
- checkStatusIndex(args) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(args.statusListCredential);
118
- const { credentialSubject } = uniform;
119
- const encodedList = (0, utils_1.getAssertedProperty)('encodedList', credentialSubject);
120
- const statusList = yield vc_status_list_1.StatusList.decode({ encodedList });
121
- const status = statusList.getStatus(typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex));
122
- return status ? types_1.Status2021.Invalid : types_1.Status2021.Valid;
123
- });
124
- }
125
- toStatusListDetails(args) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const { statusListPayload } = args;
128
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(statusListPayload);
129
- const { issuer, credentialSubject } = uniform;
130
- const id = (0, utils_1.getAssertedValue)('id', uniform.id);
131
- const encodedList = (0, utils_1.getAssertedProperty)('encodedList', credentialSubject);
132
- const proofFormat = ssi_types_1.CredentialMapper.detectDocumentType(statusListPayload) === 0 /* DocumentFormat.JWT */ ? 'jwt' : 'lds';
133
- const statusPurpose = (0, utils_1.getAssertedProperty)('statusPurpose', credentialSubject);
134
- const list = yield vc_status_list_1.StatusList.decode({ encodedList });
135
- return Object.assign(Object.assign({ id,
136
- encodedList,
137
- issuer, type: ssi_types_1.StatusListType.StatusList2021, proofFormat, length: list.length, statusListCredential: statusListPayload, statuslistContentType: this.buildContentType(proofFormat), statusList2021: {
138
- indexingDirection: 'rightToLeft',
139
- statusPurpose,
140
- } }, (args.correlationId && { correlationId: args.correlationId })), (args.driverType && { driverType: args.driverType }));
141
- });
142
- }
143
- createVerifiableCredential(args, context) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- var _a;
146
- const identifier = yield context.agent.identifierManagedGet({
147
- identifier: typeof args.issuer === 'string' ? args.issuer : args.issuer.id,
148
- vmRelationship: 'assertionMethod',
149
- offlineWhenNoDIDRegistered: true,
150
- });
151
- const credential = {
152
- '@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
153
- id: args.id,
154
- issuer: args.issuer,
155
- type: ['VerifiableCredential', 'StatusList2021Credential'],
156
- credentialSubject: {
157
- id: args.id,
158
- type: 'StatusList2021',
159
- statusPurpose: 'revocation',
160
- encodedList: args.encodedList,
161
- },
162
- };
163
- const verifiableCredential = yield context.agent.createVerifiableCredential({
164
- credential,
165
- keyRef: (_a = args.keyRef) !== null && _a !== void 0 ? _a : identifier.kmsKeyRef,
166
- proofFormat: args.proofFormat,
167
- fetchRemoteContexts: true,
168
- });
169
- return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential).original;
170
- });
171
- }
172
- buildContentType(proofFormat) {
173
- switch (proofFormat) {
174
- case 'jwt':
175
- return `application/statuslist+jwt`;
176
- case 'cbor':
177
- return `application/statuslist+cwt`;
178
- case 'lds':
179
- return 'application/statuslist+ld+json';
180
- default:
181
- throw Error(`Unsupported content type '${proofFormat}' for status lists`);
182
- }
183
- }
184
- }
185
- exports.StatusList2021Implementation = StatusList2021Implementation;
186
- //# sourceMappingURL=StatusList2021.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatusList2021.js","sourceRoot":"","sources":["../../src/impl/StatusList2021.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { IStatusList } from './IStatusList';
2
- import { StatusListType } from '@sphereon/ssi-types';
3
- export declare class StatusListFactory {
4
- private static instance;
5
- private implementations;
6
- private constructor();
7
- static getInstance(): StatusListFactory;
8
- getByType(type: StatusListType): IStatusList;
9
- }
10
- export declare function getStatusListImplementation(type: StatusListType): IStatusList;
11
- //# sourceMappingURL=StatusListFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatusListFactory.d.ts","sourceRoot":"","sources":["../../src/impl/StatusListFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO;WAMO,WAAW,IAAI,iBAAiB;IAOvC,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW;CAOpD;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAE7E"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StatusListFactory = void 0;
4
- exports.getStatusListImplementation = getStatusListImplementation;
5
- const StatusList2021_1 = require("./StatusList2021");
6
- const OAuthStatusList_1 = require("./OAuthStatusList");
7
- const ssi_types_1 = require("@sphereon/ssi-types");
8
- class StatusListFactory {
9
- constructor() {
10
- this.implementations = new Map();
11
- this.implementations.set(ssi_types_1.StatusListType.StatusList2021, new StatusList2021_1.StatusList2021Implementation());
12
- this.implementations.set(ssi_types_1.StatusListType.OAuthStatusList, new OAuthStatusList_1.OAuthStatusListImplementation());
13
- }
14
- static getInstance() {
15
- if (!StatusListFactory.instance) {
16
- StatusListFactory.instance = new StatusListFactory();
17
- }
18
- return StatusListFactory.instance;
19
- }
20
- getByType(type) {
21
- const statusList = this.implementations.get(type);
22
- if (!statusList) {
23
- throw new Error(`No implementation found for status list type: ${type}`);
24
- }
25
- return statusList;
26
- }
27
- }
28
- exports.StatusListFactory = StatusListFactory;
29
- function getStatusListImplementation(type) {
30
- return StatusListFactory.getInstance().getByType(type);
31
- }
32
- //# sourceMappingURL=StatusListFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatusListFactory.js","sourceRoot":"","sources":["../../src/impl/StatusListFactory.ts"],"names":[],"mappings":";;;AA+BA,kEAEC;AAhCD,qDAA+D;AAC/D,uDAAiE;AACjE,mDAAoD;AAEpD,MAAa,iBAAiB;IAI5B;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,0BAAc,CAAC,cAAc,EAAE,IAAI,6CAA4B,EAAE,CAAC,CAAA;QAC3F,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,0BAAc,CAAC,eAAe,EAAE,IAAI,+CAA6B,EAAE,CAAC,CAAA;IAC/F,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;QACtD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAA;IACnC,CAAC;IAEM,SAAS,CAAC,IAAoB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AAxBD,8CAwBC;AAED,SAAgB,2BAA2B,CAAC,IAAoB;IAC9D,OAAO,iBAAiB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AACxD,CAAC"}
@@ -1,6 +0,0 @@
1
- import { StatusList } from '@sd-jwt/jwt-status-list';
2
- import { IRequiredContext, SignedStatusListData } from '../../types';
3
- import { DecodedStatusListPayload } from './common';
4
- export declare const createSignedCbor: (context: IRequiredContext, statusList: StatusList, issuerString: string, id: string, expiresAt?: Date, keyRef?: string) => Promise<SignedStatusListData>;
5
- export declare const decodeStatusListCWT: (cwt: string) => DecodedStatusListPayload;
6
- //# sourceMappingURL=cbor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cbor.d.ts","sourceRoot":"","sources":["../../../src/impl/encoding/cbor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIpD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,UAAU,CAAA;AAgBtE,eAAO,MAAM,gBAAgB,YAClB,gBAAgB,cACb,UAAU,gBACR,MAAM,MAChB,MAAM,cACE,IAAI,WACP,MAAM,KACd,OAAO,CAAC,oBAAoB,CAgD9B,CAAA;AAyDD,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,wBAqCjD,CAAA"}