@sphereon/ssi-sdk.vc-status-list 0.32.1-feature.VDX.341.57 → 0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187

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/functions.d.ts +13 -13
  2. package/dist/functions.d.ts.map +1 -1
  3. package/dist/functions.js +53 -109
  4. package/dist/functions.js.map +1 -1
  5. package/dist/impl/IStatusList.d.ts +26 -0
  6. package/dist/impl/IStatusList.d.ts.map +1 -0
  7. package/dist/impl/IStatusList.js +3 -0
  8. package/dist/impl/IStatusList.js.map +1 -0
  9. package/dist/impl/OAuthStatusList.d.ts +21 -0
  10. package/dist/impl/OAuthStatusList.d.ts.map +1 -0
  11. package/dist/impl/OAuthStatusList.js +153 -0
  12. package/dist/impl/OAuthStatusList.js.map +1 -0
  13. package/dist/impl/StatusList2021.d.ts +16 -0
  14. package/dist/impl/StatusList2021.d.ts.map +1 -0
  15. package/dist/impl/StatusList2021.js +182 -0
  16. package/dist/impl/StatusList2021.js.map +1 -0
  17. package/dist/impl/StatusListFactory.d.ts +11 -0
  18. package/dist/impl/StatusListFactory.d.ts.map +1 -0
  19. package/dist/impl/StatusListFactory.js +32 -0
  20. package/dist/impl/StatusListFactory.js.map +1 -0
  21. package/dist/impl/encoding/cbor.d.ts +6 -0
  22. package/dist/impl/encoding/cbor.d.ts.map +1 -0
  23. package/dist/impl/encoding/cbor.js +140 -0
  24. package/dist/impl/encoding/cbor.js.map +1 -0
  25. package/dist/impl/encoding/common.d.ts +12 -0
  26. package/dist/impl/encoding/common.d.ts.map +1 -0
  27. package/dist/impl/encoding/common.js +26 -0
  28. package/dist/impl/encoding/common.js.map +1 -0
  29. package/dist/impl/encoding/jwt.d.ts +9 -0
  30. package/dist/impl/encoding/jwt.d.ts.map +1 -0
  31. package/dist/impl/encoding/jwt.js +74 -0
  32. package/dist/impl/encoding/jwt.js.map +1 -0
  33. package/dist/types/index.d.ts +123 -33
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/index.js +12 -0
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/utils.d.ts +17 -0
  38. package/dist/utils.d.ts.map +1 -0
  39. package/dist/utils.js +88 -0
  40. package/dist/utils.js.map +1 -0
  41. package/package.json +14 -3
  42. package/src/functions.ts +73 -159
  43. package/src/impl/IStatusList.ts +42 -0
  44. package/src/impl/OAuthStatusList.ts +204 -0
  45. package/src/impl/StatusList2021.ts +236 -0
  46. package/src/impl/StatusListFactory.ts +34 -0
  47. package/src/impl/encoding/cbor.ts +171 -0
  48. package/src/impl/encoding/common.ts +25 -0
  49. package/src/impl/encoding/jwt.ts +80 -0
  50. package/src/types/index.ts +142 -37
  51. package/src/utils.ts +95 -0
@@ -1,11 +1,11 @@
1
1
  import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
2
- import { OriginalVerifiableCredential, StatusListDriverType, StatusListType, StatusPurpose2021 } from '@sphereon/ssi-types';
2
+ import { StatusListCredential, StatusListDriverType, StatusListType, StatusPurpose2021 } from '@sphereon/ssi-types';
3
3
  import { IAgentContext, ICredentialPlugin } from '@veramo/core';
4
4
  import { StatusMethod } from 'credential-status';
5
- import { CreateNewStatusListFuncArgs, StatusList2021ToVerifiableCredentialArgs, StatusListDetails, StatusListResult, UpdateStatusListFromEncodedListArgs, UpdateStatusListFromStatusListCredentialArgs } from './types';
5
+ import { CreateNewStatusListFuncArgs, Status2021, StatusList2021ToVerifiableCredentialArgs, StatusListResult, StatusOAuth, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from './types';
6
6
  export declare function fetchStatusListCredential(args: {
7
7
  statusListCredential: string;
8
- }): Promise<OriginalVerifiableCredential>;
8
+ }): Promise<StatusListCredential>;
9
9
  export declare function statusPluginStatusFunction(args: {
10
10
  documentLoader: any;
11
11
  suite: any;
@@ -24,7 +24,7 @@ export declare function vcLibCheckStatusFunction(args: {
24
24
  verifyMatchingIssuers?: boolean;
25
25
  errorUnknownListType?: boolean;
26
26
  }): (args: {
27
- credential: OriginalVerifiableCredential;
27
+ credential: StatusListCredential;
28
28
  documentLoader: any;
29
29
  suite: any;
30
30
  }) => Promise<{
@@ -32,7 +32,7 @@ export declare function vcLibCheckStatusFunction(args: {
32
32
  error?: any;
33
33
  }>;
34
34
  export declare function checkStatusForCredential(args: {
35
- credential: OriginalVerifiableCredential;
35
+ credential: StatusListCredential;
36
36
  documentLoader: any;
37
37
  suite: any;
38
38
  mandatoryCredentialStatus?: boolean;
@@ -49,21 +49,21 @@ export declare function simpleCheckStatusFromStatusListUrl(args: {
49
49
  type?: StatusListType | 'StatusList2021Entry';
50
50
  id?: string;
51
51
  statusListIndex: string;
52
- }): Promise<boolean>;
52
+ }): Promise<number | Status2021 | StatusOAuth>;
53
53
  export declare function checkStatusIndexFromStatusListCredential(args: {
54
- statusListCredential: OriginalVerifiableCredential;
54
+ statusListCredential: StatusListCredential;
55
55
  statusPurpose?: StatusPurpose2021;
56
56
  type?: StatusListType | 'StatusList2021Entry';
57
57
  id?: string;
58
58
  statusListIndex: string | number;
59
- }): Promise<boolean>;
59
+ }): Promise<number | Status2021 | StatusOAuth>;
60
60
  export declare function createNewStatusList(args: CreateNewStatusListFuncArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
61
- export declare function updateStatusIndexFromStatusListCredential(args: UpdateStatusListFromStatusListCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListDetails>;
61
+ export declare function updateStatusIndexFromStatusListCredential(args: UpdateStatusListIndexArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
62
62
  export declare function statusListCredentialToDetails(args: {
63
- statusListCredential: OriginalVerifiableCredential;
63
+ statusListCredential: StatusListCredential;
64
64
  correlationId?: string;
65
65
  driverType?: StatusListDriverType;
66
- }): Promise<StatusListDetails>;
67
- export declare function updateStatusListIndexFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListDetails>;
68
- export declare function statusList2021ToVerifiableCredential(args: StatusList2021ToVerifiableCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<OriginalVerifiableCredential>;
66
+ }): Promise<StatusListResult>;
67
+ export declare function updateStatusListIndexFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
68
+ export declare function statusList2021ToVerifiableCredential(args: StatusList2021ToVerifiableCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListCredential>;
69
69
  //# sourceMappingURL=functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
package/dist/functions.js CHANGED
@@ -22,14 +22,15 @@ exports.updateStatusListIndexFromEncodedList = updateStatusListIndexFromEncodedL
22
22
  exports.statusList2021ToVerifiableCredential = statusList2021ToVerifiableCredential;
23
23
  const ssi_types_1 = require("@sphereon/ssi-types");
24
24
  const vc_status_list_1 = require("@sphereon/vc-status-list");
25
+ const utils_1 = require("./utils");
26
+ const StatusListFactory_1 = require("./impl/StatusListFactory");
25
27
  function fetchStatusListCredential(args) {
26
28
  return __awaiter(this, void 0, void 0, function* () {
27
- const url = getAssertedValue('statusListCredential', args.statusListCredential);
29
+ const url = (0, utils_1.getAssertedValue)('statusListCredential', args.statusListCredential);
28
30
  try {
29
31
  const response = yield fetch(url);
30
32
  if (!response.ok) {
31
- const error = `Fetching status list ${url} resulted in an error: ${response.status} : ${response.statusText}`;
32
- throw Error(error);
33
+ throw Error(`Fetching status list ${url} resulted in an error: ${response.status} : ${response.statusText}`);
33
34
  }
34
35
  const responseAsText = yield response.text();
35
36
  if (responseAsText.trim().startsWith('{')) {
@@ -38,7 +39,7 @@ function fetchStatusListCredential(args) {
38
39
  return responseAsText;
39
40
  }
40
41
  catch (error) {
41
- console.log(`Fetching status list ${url} resulted in an unexpected error: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
42
+ console.error(`Fetching status list ${url} resulted in an unexpected error: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
42
43
  throw error;
43
44
  }
44
45
  });
@@ -99,118 +100,80 @@ function simpleCheckStatusFromStatusListUrl(args) {
99
100
  }
100
101
  function checkStatusIndexFromStatusListCredential(args) {
101
102
  return __awaiter(this, void 0, void 0, function* () {
102
- var _a;
103
- const requestedType = getAssertedStatusListType((_a = args.type) === null || _a === void 0 ? void 0 : _a.replace('Entry', ''));
104
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(args.statusListCredential);
105
- const { issuer, type, credentialSubject, id } = uniform;
106
- getAssertedValue('issuer', issuer); // We are only checking the value here
107
- getAssertedValue('credentialSubject', credentialSubject);
108
- if (args.statusPurpose && 'statusPurpose' in credentialSubject) {
109
- if (args.statusPurpose !== credentialSubject.statusPurpose) {
110
- throw Error(`Status purpose in StatusList credential with id ${id} and value ${credentialSubject.statusPurpose} does not match supplied purpose: ${args.statusPurpose}`);
111
- }
112
- }
113
- else if (args.id && args.id !== id) {
114
- throw Error(`Status list id ${id} did not match required supplied id: ${args.id}`);
115
- }
116
- if (!type || !(type.includes(requestedType) || type.includes(requestedType + 'Credential'))) {
117
- throw Error(`Credential type ${JSON.stringify(type)} does not contain requested type ${requestedType}`);
118
- }
119
- // @ts-ignore
120
- const encodedList = getAssertedValue('encodedList', credentialSubject['encodedList']);
121
- const statusList = yield vc_status_list_1.StatusList.decode({ encodedList });
122
- const status = statusList.getStatus(typeof args.statusListIndex === 'number' ? args.statusListIndex : Number.parseInt(args.statusListIndex));
123
- return status;
103
+ const statusListType = (0, utils_1.determineStatusListType)(args.statusListCredential);
104
+ const implementation = (0, StatusListFactory_1.getStatusListImplementation)(statusListType);
105
+ return implementation.checkStatusIndex(args);
124
106
  });
125
107
  }
126
108
  function createNewStatusList(args, context) {
127
109
  return __awaiter(this, void 0, void 0, function* () {
128
- var _a, _b, _c;
129
- const length = (_a = args === null || args === void 0 ? void 0 : args.length) !== null && _a !== void 0 ? _a : 250000;
130
- const proofFormat = (_b = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _b !== void 0 ? _b : 'lds';
131
- const { issuer, type, id } = getAssertedValues(args);
132
- const correlationId = getAssertedValue('correlationId', args.correlationId);
133
- const list = new vc_status_list_1.StatusList({ length });
134
- const encodedList = yield list.encode();
135
- const statusPurpose = (_c = args.statusPurpose) !== null && _c !== void 0 ? _c : 'revocation';
136
- const statusListCredential = yield statusList2021ToVerifiableCredential(Object.assign(Object.assign({}, args), { type,
137
- proofFormat,
138
- encodedList }), context);
139
- return {
140
- encodedList,
141
- statusListCredential,
142
- length,
143
- type,
144
- proofFormat,
145
- id,
146
- correlationId,
147
- issuer,
148
- statusPurpose,
149
- indexingDirection: 'rightToLeft',
150
- };
110
+ const { type } = (0, utils_1.getAssertedValues)(args);
111
+ const implementation = (0, StatusListFactory_1.getStatusListImplementation)(type);
112
+ return implementation.createNewStatusList(args, context);
151
113
  });
152
114
  }
153
115
  function updateStatusIndexFromStatusListCredential(args, context) {
154
116
  return __awaiter(this, void 0, void 0, function* () {
155
- return updateStatusListIndexFromEncodedList(Object.assign(Object.assign({}, (yield statusListCredentialToDetails(args))), { statusListIndex: args.statusListIndex, value: args.value }), context);
117
+ const credential = (0, utils_1.getAssertedValue)('statusListCredential', args.statusListCredential);
118
+ const statusListType = (0, utils_1.determineStatusListType)(credential);
119
+ const implementation = (0, StatusListFactory_1.getStatusListImplementation)(statusListType);
120
+ return implementation.updateStatusListIndex(args, context);
156
121
  });
157
122
  }
123
+ // Keeping helper function for backward compatibility
158
124
  function statusListCredentialToDetails(args) {
159
125
  return __awaiter(this, void 0, void 0, function* () {
160
- const credential = getAssertedValue('statusListCredential', args.statusListCredential);
161
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(credential);
162
- const { issuer, type, credentialSubject } = uniform;
163
- if (!type.includes('StatusList2021Credential')) {
164
- throw Error('StatusList2021Credential type should be present in the Verifiable Credential');
126
+ const credential = (0, utils_1.getAssertedValue)('statusListCredential', args.statusListCredential);
127
+ let statusListType;
128
+ const documentFormat = ssi_types_1.CredentialMapper.detectDocumentType(credential);
129
+ if (documentFormat === 0 /* DocumentFormat.JWT */) {
130
+ const [header] = credential.split('.');
131
+ const decodedHeader = JSON.parse(Buffer.from(header, 'base64').toString());
132
+ if (decodedHeader.typ === 'statuslist+jwt') {
133
+ statusListType = ssi_types_1.StatusListType.OAuthStatusList;
134
+ }
135
+ }
136
+ else if (documentFormat === 4 /* DocumentFormat.MSO_MDOC */) {
137
+ statusListType = ssi_types_1.StatusListType.OAuthStatusList;
138
+ // TODO check CBOR content?
139
+ }
140
+ if (!statusListType) {
141
+ const uniform = ssi_types_1.CredentialMapper.toUniformCredential(credential);
142
+ const type = uniform.type.find((t) => t.includes('StatusList2021') || t.includes('OAuth2StatusList'));
143
+ if (!type) {
144
+ throw new Error('Invalid status list credential type');
145
+ }
146
+ statusListType = type.replace('Credential', '');
165
147
  }
166
- const id = getAssertedValue('id', uniform.id);
167
- // @ts-ignore
168
- const { encodedList, statusPurpose } = credentialSubject;
169
- const proofFormat = ssi_types_1.CredentialMapper.detectDocumentType(credential) === 0 /* DocumentFormat.JWT */ ? 'jwt' : 'lds';
170
- return Object.assign(Object.assign({ id,
171
- encodedList,
172
- issuer, type: ssi_types_1.StatusListType.StatusList2021, proofFormat, indexingDirection: 'rightToLeft', length: (yield vc_status_list_1.StatusList.decode({ encodedList })).length, statusPurpose, statusListCredential: credential }, (args.correlationId && { correlationId: args.correlationId })), (args.driverType && { driverType: args.driverType }));
148
+ const implementation = (0, StatusListFactory_1.getStatusListImplementation)(statusListType);
149
+ return yield implementation.toStatusListDetails({
150
+ statusListPayload: credential,
151
+ correlationId: args.correlationId,
152
+ driverType: args.driverType,
153
+ });
173
154
  });
174
155
  }
175
156
  function updateStatusListIndexFromEncodedList(args, context) {
176
157
  return __awaiter(this, void 0, void 0, function* () {
177
- var _a;
178
- const { issuer, type, id } = getAssertedValues(args);
179
- const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : 'lds';
180
- const origEncodedList = getAssertedValue('encodedList', args.encodedList);
181
- const index = getAssertedValue('index', typeof args.statusListIndex === 'number' ? args.statusListIndex : Number.parseInt(args.statusListIndex));
182
- const value = getAssertedValue('value', args.value);
183
- const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose);
184
- const statusList = yield vc_status_list_1.StatusList.decode({ encodedList: origEncodedList });
185
- statusList.setStatus(index, value);
186
- const encodedList = yield statusList.encode();
187
- const statusListCredential = yield statusList2021ToVerifiableCredential(Object.assign(Object.assign({}, args), { type,
188
- proofFormat,
189
- encodedList }), context);
190
- return {
191
- encodedList,
192
- statusListCredential,
193
- length: statusList.length - 1,
194
- type,
195
- proofFormat,
196
- id,
197
- issuer,
198
- statusPurpose,
199
- indexingDirection: 'rightToLeft',
200
- };
158
+ const { type } = (0, utils_1.getAssertedValue)('type', args);
159
+ const implementation = (0, StatusListFactory_1.getStatusListImplementation)(type);
160
+ return implementation.updateStatusListFromEncodedList(args, context);
201
161
  });
202
162
  }
203
163
  function statusList2021ToVerifiableCredential(args, context) {
204
164
  return __awaiter(this, void 0, void 0, function* () {
205
165
  var _a;
206
- const { issuer, id, type } = getAssertedValues(args);
166
+ const { issuer, id, type } = (0, utils_1.getAssertedValues)(args);
207
167
  const identifier = yield context.agent.identifierManagedGet({
208
168
  identifier: typeof issuer === 'string' ? issuer : issuer.id,
209
169
  vmRelationship: 'assertionMethod',
210
170
  offlineWhenNoDIDRegistered: true, // FIXME Fix identifier resolution for EBSI
211
171
  });
212
- const encodedList = getAssertedValue('encodedList', args.encodedList);
213
- const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose);
172
+ const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : 'lds';
173
+ (0, utils_1.assertValidProofType)(ssi_types_1.StatusListType.StatusList2021, proofFormat);
174
+ const veramoProofFormat = proofFormat;
175
+ const encodedList = (0, utils_1.getAssertedValue)('encodedList', args.encodedList);
176
+ const statusPurpose = (0, utils_1.getAssertedValue)('statusPurpose', args.statusPurpose);
214
177
  const credential = {
215
178
  '@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
216
179
  id,
@@ -228,29 +191,10 @@ function statusList2021ToVerifiableCredential(args, context) {
228
191
  const verifiableCredential = yield context.agent.createVerifiableCredential({
229
192
  credential,
230
193
  keyRef: identifier.kmsKeyRef,
231
- proofFormat: (_a = args.proofFormat) !== null && _a !== void 0 ? _a : 'lds',
194
+ proofFormat: veramoProofFormat,
232
195
  fetchRemoteContexts: true,
233
196
  });
234
197
  return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential).original;
235
198
  });
236
199
  }
237
- function getAssertedStatusListType(type) {
238
- const assertedType = type !== null && type !== void 0 ? type : ssi_types_1.StatusListType.StatusList2021;
239
- if (assertedType !== ssi_types_1.StatusListType.StatusList2021) {
240
- throw Error(`StatusList type ${assertedType} is not supported (yet)`);
241
- }
242
- return assertedType;
243
- }
244
- function getAssertedValue(name, value) {
245
- if (value === undefined || value === null) {
246
- throw Error(`Missing required ${name} value`);
247
- }
248
- return value;
249
- }
250
- function getAssertedValues(args) {
251
- const type = getAssertedStatusListType(args === null || args === void 0 ? void 0 : args.type);
252
- const id = getAssertedValue('id', args.id);
253
- const issuer = getAssertedValue('issuer', args.issuer);
254
- return { id, issuer, type };
255
- }
256
200
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStatusList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStatusList.js","sourceRoot":"","sources":["../../src/impl/IStatusList.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
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 = 2;
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
@@ -0,0 +1 @@
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;IAyC5G,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwCtI,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"}
@@ -0,0 +1,153 @@
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 = 2; // 2 bits are sufficient for 0x00 - "VALID" 0x01 - "INVALID" & 0x02 - "SUSPENDED"
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
+ updateStatusListFromEncodedList(args, context) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ if (!args.oauthStatusList) {
84
+ throw new Error('OAuthStatusList options are required for type OAuthStatusList');
85
+ }
86
+ const { proofFormat, oauthStatusList, keyRef } = args;
87
+ const { bitsPerStatus, expiresAt } = oauthStatusList;
88
+ const { issuer, id } = (0, utils_1.getAssertedValues)(args);
89
+ const issuerString = typeof issuer === 'string' ? issuer : issuer.id;
90
+ const listToUpdate = jwt_status_list_1.StatusList.decompressStatusList(args.encodedList, bitsPerStatus !== null && bitsPerStatus !== void 0 ? bitsPerStatus : exports.DEFAULT_BITS_PER_STATUS);
91
+ const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
92
+ listToUpdate.setStatus(index, args.value ? 1 : 0);
93
+ const { statusListCredential, encodedList } = yield this.createSignedStatusList(proofFormat !== null && proofFormat !== void 0 ? proofFormat : exports.DEFAULT_PROOF_FORMAT, context, listToUpdate, issuerString, id, expiresAt, keyRef);
94
+ return {
95
+ encodedList,
96
+ statusListCredential,
97
+ oauthStatusList: {
98
+ bitsPerStatus,
99
+ expiresAt,
100
+ },
101
+ length: listToUpdate.statusList.length,
102
+ type: ssi_types_1.StatusListType.OAuthStatusList,
103
+ proofFormat: proofFormat !== null && proofFormat !== void 0 ? proofFormat : exports.DEFAULT_PROOF_FORMAT,
104
+ id,
105
+ issuer,
106
+ statuslistContentType: this.buildContentType(proofFormat),
107
+ };
108
+ });
109
+ }
110
+ buildContentType(proofFormat) {
111
+ return `application/statuslist+${proofFormat === 'cbor' ? 'cwt' : 'jwt'}`;
112
+ }
113
+ checkStatusIndex(args) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const { statusListCredential, statusListIndex } = args;
116
+ if (typeof statusListCredential !== 'string') {
117
+ return Promise.reject('statusListCredential in neither JWT nor CWT');
118
+ }
119
+ const proofFormat = (0, utils_1.determineProofFormat)(statusListCredential);
120
+ const { statusList } = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListCredential) : (0, cbor_1.decodeStatusListCWT)(statusListCredential);
121
+ const index = typeof statusListIndex === 'number' ? statusListIndex : parseInt(statusListIndex);
122
+ if (index < 0 || index >= statusList.statusList.length) {
123
+ throw new Error('Status list index out of bounds');
124
+ }
125
+ return statusList.getStatus(index);
126
+ });
127
+ }
128
+ toStatusListDetails(args) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const { statusListPayload } = args;
131
+ const proofFormat = (0, utils_1.determineProofFormat)(statusListPayload);
132
+ const decoded = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListPayload) : (0, cbor_1.decodeStatusListCWT)(statusListPayload);
133
+ const { statusList, issuer, id, exp } = decoded;
134
+ 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 }));
135
+ });
136
+ }
137
+ createSignedStatusList(proofFormat, context, statusList, issuerString, id, expiresAt, keyRef) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ switch (proofFormat) {
140
+ case 'jwt': {
141
+ return yield (0, jwt_1.createSignedJwt)(context, statusList, issuerString, id, expiresAt, keyRef);
142
+ }
143
+ case 'cbor': {
144
+ return yield (0, cbor_1.createSignedCbor)(context, statusList, issuerString, id, expiresAt, keyRef);
145
+ }
146
+ default:
147
+ throw new Error(`Invalid proof format '${proofFormat}' for OAuthStatusList`);
148
+ }
149
+ });
150
+ }
151
+ }
152
+ exports.OAuthStatusListImplementation = OAuthStatusListImplementation;
153
+ //# sourceMappingURL=OAuthStatusList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthStatusList.js","sourceRoot":"","sources":["../../src/impl/OAuthStatusList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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;CAOzB"}