@sphereon/ssi-sdk.vc-status-list 0.32.1-next.54 → 0.33.1-feature.vcdm2.4

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 (53) hide show
  1. package/dist/functions.d.ts +13 -13
  2. package/dist/functions.d.ts.map +1 -1
  3. package/dist/functions.js +141 -225
  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 +2 -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 +144 -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 +179 -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 +29 -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 +123 -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 +9 -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 +61 -0
  32. package/dist/impl/encoding/jwt.js.map +1 -0
  33. package/dist/index.js +2 -18
  34. package/dist/index.js.map +1 -1
  35. package/dist/types/index.d.ts +131 -33
  36. package/dist/types/index.d.ts.map +1 -1
  37. package/dist/types/index.js +11 -2
  38. package/dist/types/index.js.map +1 -1
  39. package/dist/utils.d.ts +17 -0
  40. package/dist/utils.d.ts.map +1 -0
  41. package/dist/utils.js +79 -0
  42. package/dist/utils.js.map +1 -0
  43. package/package.json +17 -6
  44. package/src/functions.ts +73 -159
  45. package/src/impl/IStatusList.ts +42 -0
  46. package/src/impl/OAuthStatusList.ts +206 -0
  47. package/src/impl/StatusList2021.ts +241 -0
  48. package/src/impl/StatusListFactory.ts +34 -0
  49. package/src/impl/encoding/cbor.ts +171 -0
  50. package/src/impl/encoding/common.ts +20 -0
  51. package/src/impl/encoding/jwt.ts +80 -0
  52. package/src/types/index.ts +151 -37
  53. 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
@@ -1,256 +1,172 @@
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.fetchStatusListCredential = fetchStatusListCredential;
13
- exports.statusPluginStatusFunction = statusPluginStatusFunction;
14
- exports.vcLibCheckStatusFunction = vcLibCheckStatusFunction;
15
- exports.checkStatusForCredential = checkStatusForCredential;
16
- exports.simpleCheckStatusFromStatusListUrl = simpleCheckStatusFromStatusListUrl;
17
- exports.checkStatusIndexFromStatusListCredential = checkStatusIndexFromStatusListCredential;
18
- exports.createNewStatusList = createNewStatusList;
19
- exports.updateStatusIndexFromStatusListCredential = updateStatusIndexFromStatusListCredential;
20
- exports.statusListCredentialToDetails = statusListCredentialToDetails;
21
- exports.updateStatusListIndexFromEncodedList = updateStatusListIndexFromEncodedList;
22
- exports.statusList2021ToVerifiableCredential = statusList2021ToVerifiableCredential;
23
- const ssi_types_1 = require("@sphereon/ssi-types");
24
- const vc_status_list_1 = require("@sphereon/vc-status-list");
25
- function fetchStatusListCredential(args) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const url = getAssertedValue('statusListCredential', args.statusListCredential);
28
- try {
29
- const response = yield fetch(url);
30
- if (!response.ok) {
31
- const error = `Fetching status list ${url} resulted in an error: ${response.status} : ${response.statusText}`;
32
- throw Error(error);
33
- }
34
- const responseAsText = yield response.text();
35
- if (responseAsText.trim().startsWith('{')) {
36
- return JSON.parse(responseAsText);
37
- }
38
- return responseAsText;
1
+ import { CredentialMapper, StatusListType, } from '@sphereon/ssi-types';
2
+ import { checkStatus } from '@sphereon/vc-status-list';
3
+ import { assertValidProofType, determineStatusListType, getAssertedValue, getAssertedValues } from './utils';
4
+ import { getStatusListImplementation } from './impl/StatusListFactory';
5
+ export async function fetchStatusListCredential(args) {
6
+ const url = getAssertedValue('statusListCredential', args.statusListCredential);
7
+ try {
8
+ const response = await fetch(url);
9
+ if (!response.ok) {
10
+ throw Error(`Fetching status list ${url} resulted in an error: ${response.status} : ${response.statusText}`);
39
11
  }
40
- catch (error) {
41
- console.log(`Fetching status list ${url} resulted in an unexpected error: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
42
- throw error;
12
+ const responseAsText = await response.text();
13
+ if (responseAsText.trim().startsWith('{')) {
14
+ return JSON.parse(responseAsText);
43
15
  }
44
- });
16
+ return responseAsText;
17
+ }
18
+ catch (error) {
19
+ console.error(`Fetching status list ${url} resulted in an unexpected error: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
20
+ throw error;
21
+ }
45
22
  }
46
- function statusPluginStatusFunction(args) {
47
- return (credential, didDoc) => __awaiter(this, void 0, void 0, function* () {
48
- const result = yield checkStatusForCredential(Object.assign(Object.assign({}, args), { documentLoader: args.documentLoader, credential: credential, errorUnknownListType: args.errorUnknownListType }));
49
- return Object.assign({ revoked: !result.verified || result.error }, (result.error && { error: result.error }));
50
- });
23
+ export function statusPluginStatusFunction(args) {
24
+ return async (credential, didDoc) => {
25
+ const result = await checkStatusForCredential({
26
+ ...args,
27
+ documentLoader: args.documentLoader,
28
+ credential: credential,
29
+ errorUnknownListType: args.errorUnknownListType,
30
+ });
31
+ return {
32
+ revoked: !result.verified || result.error,
33
+ ...(result.error && { error: result.error }),
34
+ };
35
+ };
51
36
  }
52
37
  /**
53
38
  * Function that can be used together with @digitalbazar/vc and @digitialcredentials/vc
54
39
  * @param args
55
40
  */
56
- function vcLibCheckStatusFunction(args) {
41
+ export function vcLibCheckStatusFunction(args) {
57
42
  const { mandatoryCredentialStatus, verifyStatusListCredential, verifyMatchingIssuers, errorUnknownListType } = args;
58
43
  return (args) => {
59
- return checkStatusForCredential(Object.assign(Object.assign({}, args), { mandatoryCredentialStatus,
44
+ return checkStatusForCredential({
45
+ ...args,
46
+ mandatoryCredentialStatus,
60
47
  verifyStatusListCredential,
61
48
  verifyMatchingIssuers,
62
- errorUnknownListType }));
49
+ errorUnknownListType,
50
+ });
63
51
  };
64
52
  }
65
- function checkStatusForCredential(args) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- var _a, _b;
68
- const verifyStatusListCredential = (_a = args.verifyStatusListCredential) !== null && _a !== void 0 ? _a : true;
69
- const verifyMatchingIssuers = (_b = args.verifyMatchingIssuers) !== null && _b !== void 0 ? _b : true;
70
- const uniform = ssi_types_1.CredentialMapper.toUniformCredential(args.credential);
71
- if (!('credentialStatus' in uniform) || !uniform.credentialStatus) {
72
- if (args.mandatoryCredentialStatus) {
73
- const error = 'No credential status object found in the Verifiable Credential and it is mandatory';
74
- console.log(error);
75
- return { verified: false, error };
76
- }
77
- return { verified: true };
78
- }
79
- if ('credentialStatus' in uniform && uniform.credentialStatus) {
80
- if (uniform.credentialStatus.type === 'StatusList2021Entry') {
81
- return (0, vc_status_list_1.checkStatus)(Object.assign(Object.assign({}, args), { verifyStatusListCredential, verifyMatchingIssuers }));
82
- }
83
- else if (args === null || args === void 0 ? void 0 : args.errorUnknownListType) {
84
- const error = `Credential status type ${uniform.credentialStatus.type} is not supported, and check status has been configured to not allow for that`;
85
- console.log(error);
86
- return { verified: false, error };
87
- }
88
- else {
89
- console.log(`Skipped verification of status type ${uniform.credentialStatus.type} as we do not support it (yet)`);
90
- }
53
+ export async function checkStatusForCredential(args) {
54
+ const verifyStatusListCredential = args.verifyStatusListCredential ?? true;
55
+ const verifyMatchingIssuers = args.verifyMatchingIssuers ?? true;
56
+ const uniform = CredentialMapper.toUniformCredential(args.credential);
57
+ if (!('credentialStatus' in uniform) || !uniform.credentialStatus) {
58
+ if (args.mandatoryCredentialStatus) {
59
+ const error = 'No credential status object found in the Verifiable Credential and it is mandatory';
60
+ console.log(error);
61
+ return { verified: false, error };
91
62
  }
92
63
  return { verified: true };
93
- });
94
- }
95
- function simpleCheckStatusFromStatusListUrl(args) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- return checkStatusIndexFromStatusListCredential(Object.assign(Object.assign({}, args), { statusListCredential: yield fetchStatusListCredential(args) }));
98
- });
99
- }
100
- function checkStatusIndexFromStatusListCredential(args) {
101
- 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
- }
64
+ }
65
+ if ('credentialStatus' in uniform && uniform.credentialStatus) {
66
+ if (uniform.credentialStatus.type === 'StatusList2021Entry') {
67
+ return checkStatus({ ...args, verifyStatusListCredential, verifyMatchingIssuers });
112
68
  }
113
- else if (args.id && args.id !== id) {
114
- throw Error(`Status list id ${id} did not match required supplied id: ${args.id}`);
69
+ else if (args?.errorUnknownListType) {
70
+ const error = `Credential status type ${uniform.credentialStatus.type} is not supported, and check status has been configured to not allow for that`;
71
+ console.log(error);
72
+ return { verified: false, error };
115
73
  }
116
- if (!type || !(type.includes(requestedType) || type.includes(requestedType + 'Credential'))) {
117
- throw Error(`Credential type ${JSON.stringify(type)} does not contain requested type ${requestedType}`);
74
+ else {
75
+ console.log(`Skipped verification of status type ${uniform.credentialStatus.type} as we do not support it (yet)`);
118
76
  }
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;
124
- });
77
+ }
78
+ return { verified: true };
125
79
  }
126
- function createNewStatusList(args, context) {
127
- 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
- };
80
+ export async function simpleCheckStatusFromStatusListUrl(args) {
81
+ return checkStatusIndexFromStatusListCredential({
82
+ ...args,
83
+ statusListCredential: await fetchStatusListCredential(args),
151
84
  });
152
85
  }
153
- function updateStatusIndexFromStatusListCredential(args, context) {
154
- 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);
156
- });
86
+ export async function checkStatusIndexFromStatusListCredential(args) {
87
+ const statusListType = determineStatusListType(args.statusListCredential);
88
+ const implementation = getStatusListImplementation(statusListType);
89
+ return implementation.checkStatusIndex(args);
90
+ }
91
+ export async function createNewStatusList(args, context) {
92
+ const { type } = getAssertedValues(args);
93
+ const implementation = getStatusListImplementation(type);
94
+ return implementation.createNewStatusList(args, context);
157
95
  }
158
- function statusListCredentialToDetails(args) {
159
- 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');
96
+ export async function updateStatusIndexFromStatusListCredential(args, context) {
97
+ const credential = getAssertedValue('statusListCredential', args.statusListCredential);
98
+ const statusListType = determineStatusListType(credential);
99
+ const implementation = getStatusListImplementation(statusListType);
100
+ return implementation.updateStatusListIndex(args, context);
101
+ }
102
+ // Keeping helper function for backward compatibility
103
+ export async function statusListCredentialToDetails(args) {
104
+ const credential = getAssertedValue('statusListCredential', args.statusListCredential);
105
+ let statusListType;
106
+ const documentFormat = CredentialMapper.detectDocumentType(credential);
107
+ if (documentFormat === 0 /* DocumentFormat.JWT */) {
108
+ const [header] = credential.split('.');
109
+ const decodedHeader = JSON.parse(Buffer.from(header, 'base64').toString());
110
+ if (decodedHeader.typ === 'statuslist+jwt') {
111
+ statusListType = StatusListType.OAuthStatusList;
165
112
  }
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 }));
113
+ }
114
+ else if (documentFormat === 4 /* DocumentFormat.MSO_MDOC */) {
115
+ statusListType = StatusListType.OAuthStatusList;
116
+ // TODO check CBOR content?
117
+ }
118
+ if (!statusListType) {
119
+ const uniform = CredentialMapper.toUniformCredential(credential);
120
+ const type = uniform.type.find((t) => t.includes('StatusList2021') || t.includes('OAuth2StatusList'));
121
+ if (!type) {
122
+ throw new Error('Invalid status list credential type');
123
+ }
124
+ statusListType = type.replace('Credential', '');
125
+ }
126
+ const implementation = getStatusListImplementation(statusListType);
127
+ return await implementation.toStatusListDetails({
128
+ statusListPayload: credential,
129
+ correlationId: args.correlationId,
130
+ driverType: args.driverType,
173
131
  });
174
132
  }
175
- function updateStatusListIndexFromEncodedList(args, context) {
176
- 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
- };
201
- });
133
+ export async function updateStatusListIndexFromEncodedList(args, context) {
134
+ const { type } = getAssertedValue('type', args);
135
+ const implementation = getStatusListImplementation(type);
136
+ return implementation.updateStatusListFromEncodedList(args, context);
202
137
  }
203
- function statusList2021ToVerifiableCredential(args, context) {
204
- return __awaiter(this, void 0, void 0, function* () {
205
- var _a;
206
- const { issuer, id, type } = getAssertedValues(args);
207
- const identifier = yield context.agent.identifierManagedGet({
208
- identifier: typeof issuer === 'string' ? issuer : issuer.id,
209
- vmRelationship: 'assertionMethod',
210
- offlineWhenNoDIDRegistered: true, // FIXME Fix identifier resolution for EBSI
211
- });
212
- const encodedList = getAssertedValue('encodedList', args.encodedList);
213
- const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose);
214
- const credential = {
215
- '@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
138
+ export async function statusList2021ToVerifiableCredential(args, context) {
139
+ const { issuer, id, type } = getAssertedValues(args);
140
+ const identifier = await context.agent.identifierManagedGet({
141
+ identifier: typeof issuer === 'string' ? issuer : issuer.id,
142
+ vmRelationship: 'assertionMethod',
143
+ offlineWhenNoDIDRegistered: true, // FIXME Fix identifier resolution for EBSI
144
+ });
145
+ const proofFormat = args?.proofFormat ?? 'lds';
146
+ assertValidProofType(StatusListType.StatusList2021, proofFormat);
147
+ const veramoProofFormat = proofFormat;
148
+ const encodedList = getAssertedValue('encodedList', args.encodedList);
149
+ const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose);
150
+ const credential = {
151
+ '@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
152
+ id,
153
+ issuer,
154
+ // issuanceDate: "2021-03-10T04:24:12.164Z",
155
+ type: ['VerifiableCredential', `${type}Credential`],
156
+ credentialSubject: {
216
157
  id,
217
- issuer,
218
- // issuanceDate: "2021-03-10T04:24:12.164Z",
219
- type: ['VerifiableCredential', `${type}Credential`],
220
- credentialSubject: {
221
- id,
222
- type,
223
- statusPurpose,
224
- encodedList,
225
- },
226
- };
227
- // TODO copy statuslist schema to local and disable fetching remote contexts
228
- const verifiableCredential = yield context.agent.createVerifiableCredential({
229
- credential,
230
- keyRef: identifier.kmsKeyRef,
231
- proofFormat: (_a = args.proofFormat) !== null && _a !== void 0 ? _a : 'lds',
232
- fetchRemoteContexts: true,
233
- });
234
- return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential).original;
158
+ type,
159
+ statusPurpose,
160
+ encodedList,
161
+ },
162
+ };
163
+ // TODO copy statuslist schema to local and disable fetching remote contexts
164
+ const verifiableCredential = await context.agent.createVerifiableCredential({
165
+ credential,
166
+ keyRef: identifier.kmsKeyRef,
167
+ proofFormat: veramoProofFormat,
168
+ fetchRemoteContexts: true,
235
169
  });
236
- }
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 };
170
+ return CredentialMapper.toWrappedVerifiableCredential(verifiableCredential).original;
255
171
  }
256
172
  //# 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,2 @@
1
+ export {};
2
+ //# 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 = 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
@@ -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;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"}