@sphereon/ssi-sdk.vc-status-list 0.32.1-feature.MWALL.717.jwt.decode.crash.15 → 0.32.1-feature.SDK.56.oauth.status.list.34
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.
- package/dist/functions.d.ts +13 -13
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +40 -109
- package/dist/functions.js.map +1 -1
- package/dist/impl/IStatusList.d.ts +22 -0
- package/dist/impl/IStatusList.d.ts.map +1 -0
- package/dist/impl/IStatusList.js +3 -0
- package/dist/impl/IStatusList.js.map +1 -0
- package/dist/impl/OAuthStatusList.d.ts +20 -0
- package/dist/impl/OAuthStatusList.d.ts.map +1 -0
- package/dist/impl/OAuthStatusList.js +147 -0
- package/dist/impl/OAuthStatusList.js.map +1 -0
- package/dist/impl/StatusList2021.d.ts +14 -0
- package/dist/impl/StatusList2021.d.ts.map +1 -0
- package/dist/impl/StatusList2021.js +153 -0
- package/dist/impl/StatusList2021.js.map +1 -0
- package/dist/impl/StatusListFactory.d.ts +12 -0
- package/dist/impl/StatusListFactory.d.ts.map +1 -0
- package/dist/impl/StatusListFactory.js +36 -0
- package/dist/impl/StatusListFactory.js.map +1 -0
- package/dist/impl/encoding/cbor.d.ts +6 -0
- package/dist/impl/encoding/cbor.d.ts.map +1 -0
- package/dist/impl/encoding/cbor.js +128 -0
- package/dist/impl/encoding/cbor.js.map +1 -0
- package/dist/impl/encoding/common.d.ts +12 -0
- package/dist/impl/encoding/common.d.ts.map +1 -0
- package/dist/impl/encoding/common.js +26 -0
- package/dist/impl/encoding/common.js.map +1 -0
- package/dist/impl/encoding/jwt.d.ts +7 -0
- package/dist/impl/encoding/jwt.d.ts.map +1 -0
- package/dist/impl/encoding/jwt.js +56 -0
- package/dist/impl/encoding/jwt.js.map +1 -0
- package/dist/types/index.d.ts +107 -29
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils.d.ts +17 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +87 -0
- package/dist/utils.js.map +1 -0
- package/package.json +11 -3
- package/src/functions.ts +59 -158
- package/src/impl/IStatusList.ts +36 -0
- package/src/impl/OAuthStatusList.ts +165 -0
- package/src/impl/StatusList2021.ts +195 -0
- package/src/impl/StatusListFactory.ts +39 -0
- package/src/impl/encoding/cbor.ts +152 -0
- package/src/impl/encoding/common.ts +25 -0
- package/src/impl/encoding/jwt.ts +54 -0
- package/src/types/index.ts +123 -41
- package/src/utils.ts +91 -0
package/dist/functions.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
2
|
-
import {
|
|
2
|
+
import { StatusListDriverType, StatusListType, StatusListVerifiableCredential, StatusPurpose2021 } from '@sphereon/ssi-types';
|
|
3
3
|
import { IAgentContext, ICredentialPlugin } from '@veramo/core';
|
|
4
4
|
import { StatusMethod } from 'credential-status';
|
|
5
|
-
import { CreateNewStatusListFuncArgs,
|
|
5
|
+
import { CreateNewStatusListFuncArgs, Status2021, StatusList2021ToVerifiableCredentialArgs, StatusListResult, StatusOAuth, UpdateStatusListFromEncodedListArgs, UpdateStatusListFromStatusListCredentialArgs } from './types';
|
|
6
6
|
export declare function fetchStatusListCredential(args: {
|
|
7
7
|
statusListCredential: string;
|
|
8
|
-
}): Promise<
|
|
8
|
+
}): Promise<StatusListVerifiableCredential>;
|
|
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:
|
|
27
|
+
credential: StatusListVerifiableCredential;
|
|
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:
|
|
35
|
+
credential: StatusListVerifiableCredential;
|
|
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<
|
|
52
|
+
}): Promise<number | Status2021 | StatusOAuth>;
|
|
53
53
|
export declare function checkStatusIndexFromStatusListCredential(args: {
|
|
54
|
-
statusListCredential:
|
|
54
|
+
statusListCredential: StatusListVerifiableCredential;
|
|
55
55
|
statusPurpose?: StatusPurpose2021;
|
|
56
56
|
type?: StatusListType | 'StatusList2021Entry';
|
|
57
57
|
id?: string;
|
|
58
58
|
statusListIndex: string | number;
|
|
59
|
-
}): Promise<
|
|
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<
|
|
61
|
+
export declare function updateStatusIndexFromStatusListCredential(args: UpdateStatusListFromStatusListCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
|
|
62
62
|
export declare function statusListCredentialToDetails(args: {
|
|
63
|
-
statusListCredential:
|
|
63
|
+
statusListCredential: StatusListVerifiableCredential;
|
|
64
64
|
correlationId?: string;
|
|
65
65
|
driverType?: StatusListDriverType;
|
|
66
|
-
}): Promise<
|
|
67
|
-
export declare function updateStatusListIndexFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<
|
|
68
|
-
export declare function statusList2021ToVerifiableCredential(args: StatusList2021ToVerifiableCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<
|
|
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<StatusListVerifiableCredential>;
|
|
69
69
|
//# sourceMappingURL=functions.d.ts.map
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,
|
|
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
|
-
|
|
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.
|
|
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,66 @@ function simpleCheckStatusFromStatusListUrl(args) {
|
|
|
99
100
|
}
|
|
100
101
|
function checkStatusIndexFromStatusListCredential(args) {
|
|
101
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
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
|
-
|
|
129
|
-
const
|
|
130
|
-
|
|
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
|
-
|
|
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);
|
|
126
|
+
const credential = (0, utils_1.getAssertedValue)('statusListCredential', args.statusListCredential);
|
|
161
127
|
const uniform = ssi_types_1.CredentialMapper.toUniformCredential(credential);
|
|
162
|
-
const
|
|
163
|
-
if (!type
|
|
164
|
-
throw Error('
|
|
128
|
+
const type = uniform.type.find((t) => t.includes('StatusList2021') || t.includes('OAuth2StatusList'));
|
|
129
|
+
if (!type) {
|
|
130
|
+
throw new Error('Invalid status list credential type');
|
|
165
131
|
}
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
132
|
+
const statusListType = type.replace('Credential', '');
|
|
133
|
+
const implementation = (0, StatusListFactory_1.getStatusListImplementation)(statusListType);
|
|
134
|
+
return implementation.updateStatusListIndex({
|
|
135
|
+
statusListCredential: args.statusListCredential,
|
|
136
|
+
statusListIndex: 0,
|
|
137
|
+
value: 0,
|
|
138
|
+
}, {});
|
|
173
139
|
});
|
|
174
140
|
}
|
|
175
141
|
function updateStatusListIndexFromEncodedList(args, context) {
|
|
176
142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
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
|
-
};
|
|
143
|
+
const { type } = (0, utils_1.getAssertedValue)('type', args);
|
|
144
|
+
const implementation = (0, StatusListFactory_1.getStatusListImplementation)(type);
|
|
145
|
+
return implementation.updateStatusListFromEncodedList(args, context);
|
|
201
146
|
});
|
|
202
147
|
}
|
|
148
|
+
// TODO Is this still in use? Or do we need to redesign this after having multiple status list types?
|
|
203
149
|
function statusList2021ToVerifiableCredential(args, context) {
|
|
204
150
|
return __awaiter(this, void 0, void 0, function* () {
|
|
205
151
|
var _a;
|
|
206
|
-
const { issuer, id, type } = getAssertedValues(args);
|
|
152
|
+
const { issuer, id, type } = (0, utils_1.getAssertedValues)(args);
|
|
207
153
|
const identifier = yield context.agent.identifierManagedGet({
|
|
208
154
|
identifier: typeof issuer === 'string' ? issuer : issuer.id,
|
|
209
155
|
vmRelationship: 'assertionMethod',
|
|
210
156
|
offlineWhenNoDIDRegistered: true, // FIXME Fix identifier resolution for EBSI
|
|
211
157
|
});
|
|
212
|
-
const
|
|
213
|
-
|
|
158
|
+
const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : 'lds';
|
|
159
|
+
(0, utils_1.assertValidProofType)(ssi_types_1.StatusListType.StatusList2021, proofFormat);
|
|
160
|
+
const vmoProofFormat = proofFormat;
|
|
161
|
+
const encodedList = (0, utils_1.getAssertedValue)('encodedList', args.encodedList);
|
|
162
|
+
const statusPurpose = (0, utils_1.getAssertedValue)('statusPurpose', args.statusPurpose);
|
|
214
163
|
const credential = {
|
|
215
164
|
'@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
|
|
216
165
|
id,
|
|
@@ -228,29 +177,11 @@ function statusList2021ToVerifiableCredential(args, context) {
|
|
|
228
177
|
const verifiableCredential = yield context.agent.createVerifiableCredential({
|
|
229
178
|
credential,
|
|
230
179
|
keyRef: identifier.kmsKeyRef,
|
|
231
|
-
proofFormat:
|
|
180
|
+
proofFormat: vmoProofFormat,
|
|
232
181
|
fetchRemoteContexts: true,
|
|
233
182
|
});
|
|
234
|
-
return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential)
|
|
183
|
+
return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential)
|
|
184
|
+
.original;
|
|
235
185
|
});
|
|
236
186
|
}
|
|
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
187
|
//# sourceMappingURL=functions.js.map
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IAgentContext, ICredentialPlugin } from '@veramo/core';
|
|
2
|
+
import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
|
+
import { CheckStatusIndexArgs, CreateStatusListArgs, Status2021, StatusListResult, StatusOAuth, 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
|
+
//# 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,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;CACzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IStatusList.js","sourceRoot":"","sources":["../../src/impl/IStatusList.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IAgentContext, ICredentialPlugin } from '@veramo/core';
|
|
2
|
+
import { ProofFormat } from '@sphereon/ssi-types';
|
|
3
|
+
import { CheckStatusIndexArgs, CreateStatusListArgs, StatusListResult, StatusOAuth, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from '../types';
|
|
4
|
+
import { IStatusList } from './IStatusList';
|
|
5
|
+
import { StatusListJWTHeaderParameters } from '@sd-jwt/jwt-status-list';
|
|
6
|
+
import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
|
|
7
|
+
import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
8
|
+
type IRequiredContext = IAgentContext<ICredentialPlugin & IJwtService & IIdentifierResolution>;
|
|
9
|
+
export declare const BITS_PER_STATUS_DEFAULT = 2;
|
|
10
|
+
export declare const DEFAULT_LIST_LENGTH = 250000;
|
|
11
|
+
export declare const DEFAULT_PROOF_FORMAT: ProofFormat;
|
|
12
|
+
export declare const STATUS_LIST_JWT_HEADER: StatusListJWTHeaderParameters;
|
|
13
|
+
export declare class OAuthStatusListImplementation implements IStatusList {
|
|
14
|
+
createNewStatusList(args: CreateStatusListArgs, context: IRequiredContext): Promise<StatusListResult>;
|
|
15
|
+
updateStatusListIndex(args: UpdateStatusListIndexArgs, context: IRequiredContext): Promise<StatusListResult>;
|
|
16
|
+
updateStatusListFromEncodedList(args: UpdateStatusListFromEncodedListArgs, context: IRequiredContext): Promise<StatusListResult>;
|
|
17
|
+
checkStatusIndex(args: CheckStatusIndexArgs): Promise<number | StatusOAuth>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# 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,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAkD,MAAM,qBAAqB,CAAA;AACjG,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAc,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AACnF,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,CAAC,CAAA;AAE9F,eAAO,MAAM,uBAAuB,IAAI,CAAA;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAA;AACzC,eAAO,MAAM,oBAAoB,EAAY,WAAW,CAAA;AACxD,eAAO,MAAM,sBAAsB,EAAE,6BAGpC,CAAA;AAED,qBAAa,6BAA8B,YAAW,WAAW;IACzD,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4CrG,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkC5G,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyChI,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;CAgBlF"}
|
|
@@ -0,0 +1,147 @@
|
|
|
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.STATUS_LIST_JWT_HEADER = exports.DEFAULT_PROOF_FORMAT = exports.DEFAULT_LIST_LENGTH = exports.BITS_PER_STATUS_DEFAULT = 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.BITS_PER_STATUS_DEFAULT = 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
|
+
exports.STATUS_LIST_JWT_HEADER = {
|
|
22
|
+
alg: 'EdDSA',
|
|
23
|
+
typ: 'statuslist+jwt',
|
|
24
|
+
};
|
|
25
|
+
class OAuthStatusListImplementation {
|
|
26
|
+
createNewStatusList(args, context) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
var _a, _b, _c;
|
|
29
|
+
if (!args.oauthStatusList) {
|
|
30
|
+
throw new Error('OAuthStatusList options are required for type OAuthStatusList');
|
|
31
|
+
}
|
|
32
|
+
const proofFormat = (_a = args === null || args === void 0 ? void 0 : args.proofFormat) !== null && _a !== void 0 ? _a : exports.DEFAULT_PROOF_FORMAT;
|
|
33
|
+
const { issuer, id } = args;
|
|
34
|
+
const length = (_b = args.length) !== null && _b !== void 0 ? _b : exports.DEFAULT_LIST_LENGTH;
|
|
35
|
+
const bitsPerStatus = (_c = args.oauthStatusList.bitsPerStatus) !== null && _c !== void 0 ? _c : exports.BITS_PER_STATUS_DEFAULT;
|
|
36
|
+
const issuerString = typeof issuer === 'string' ? issuer : issuer.id;
|
|
37
|
+
const correlationId = (0, utils_1.getAssertedValue)('correlationId', args.correlationId);
|
|
38
|
+
const statusList = new jwt_status_list_1.StatusList(new Array(length).fill(0), bitsPerStatus);
|
|
39
|
+
const encodedList = statusList.compressStatusList();
|
|
40
|
+
let statusListCredential;
|
|
41
|
+
switch (proofFormat) {
|
|
42
|
+
case 'jwt': {
|
|
43
|
+
const { statusListCredential: slJwt } = yield (0, jwt_1.createSignedJwt)(context, statusList, issuerString, id, args.keyRef);
|
|
44
|
+
statusListCredential = slJwt;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case 'cbor': {
|
|
48
|
+
const { statusListCredential: slCbor } = yield (0, cbor_1.createSignedCbor)(context, statusList, issuerString, id, args.keyRef);
|
|
49
|
+
statusListCredential = slCbor;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
default:
|
|
53
|
+
throw new Error(`Invalid proof format '${proofFormat}' for OAuthStatusList`);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
encodedList,
|
|
57
|
+
statusListCredential,
|
|
58
|
+
oauthStatusList: { bitsPerStatus },
|
|
59
|
+
length,
|
|
60
|
+
type: ssi_types_1.StatusListType.OAuthStatusList,
|
|
61
|
+
proofFormat,
|
|
62
|
+
id,
|
|
63
|
+
correlationId,
|
|
64
|
+
issuer,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
updateStatusListIndex(args, context) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { statusListCredential, value } = args;
|
|
71
|
+
if (typeof statusListCredential !== 'string') {
|
|
72
|
+
return Promise.reject('statusListCredential in neither JWT nor CWT');
|
|
73
|
+
}
|
|
74
|
+
const proofFormat = (0, utils_1.determineProofFormat)(statusListCredential);
|
|
75
|
+
const decoded = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListCredential) : (0, cbor_1.decodeStatusListCWT)(statusListCredential);
|
|
76
|
+
const { statusList, issuer, id } = decoded;
|
|
77
|
+
const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
|
|
78
|
+
if (index < 0 || index >= statusList.statusList.length) {
|
|
79
|
+
throw new Error('Status list index out of bounds');
|
|
80
|
+
}
|
|
81
|
+
statusList.setStatus(index, value);
|
|
82
|
+
const result = proofFormat === 'jwt'
|
|
83
|
+
? yield (0, jwt_1.createSignedJwt)(context, statusList, issuer, id, args.keyRef)
|
|
84
|
+
: yield (0, cbor_1.createSignedCbor)(context, statusList, issuer, id, args.keyRef);
|
|
85
|
+
return Object.assign(Object.assign({}, result), { oauthStatusList: {
|
|
86
|
+
bitsPerStatus: statusList.getBitsPerStatus(),
|
|
87
|
+
}, length: statusList.statusList.length, type: ssi_types_1.StatusListType.OAuthStatusList, proofFormat,
|
|
88
|
+
id,
|
|
89
|
+
issuer });
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
updateStatusListFromEncodedList(args, context) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
if (!args.oauthStatusList) {
|
|
96
|
+
throw new Error('OAuthStatusList options are required for type OAuthStatusList');
|
|
97
|
+
}
|
|
98
|
+
const proofFormat = (_a = args.proofFormat) !== null && _a !== void 0 ? _a : exports.DEFAULT_PROOF_FORMAT;
|
|
99
|
+
const { issuer, id } = (0, utils_1.getAssertedValues)(args);
|
|
100
|
+
const bitsPerStatus = (_b = args.oauthStatusList.bitsPerStatus) !== null && _b !== void 0 ? _b : exports.BITS_PER_STATUS_DEFAULT;
|
|
101
|
+
const issuerString = typeof issuer === 'string' ? issuer : issuer.id;
|
|
102
|
+
const listToUpdate = jwt_status_list_1.StatusList.decompressStatusList(args.encodedList, bitsPerStatus);
|
|
103
|
+
const index = typeof args.statusListIndex === 'number' ? args.statusListIndex : parseInt(args.statusListIndex);
|
|
104
|
+
listToUpdate.setStatus(index, args.value ? 1 : 0);
|
|
105
|
+
let result;
|
|
106
|
+
switch (proofFormat) {
|
|
107
|
+
case 'jwt':
|
|
108
|
+
result = yield (0, jwt_1.createSignedJwt)(context, listToUpdate, issuerString, id, args.keyRef);
|
|
109
|
+
break;
|
|
110
|
+
case 'cbor':
|
|
111
|
+
result = yield (0, cbor_1.createSignedCbor)(context, listToUpdate, issuerString, id, args.keyRef);
|
|
112
|
+
break;
|
|
113
|
+
default:
|
|
114
|
+
throw new Error(`Invalid proof format '${proofFormat}' for OAuthStatusList`);
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
encodedList: result.encodedList,
|
|
118
|
+
statusListCredential: result.statusListCredential,
|
|
119
|
+
oauthStatusList: {
|
|
120
|
+
bitsPerStatus,
|
|
121
|
+
},
|
|
122
|
+
length: listToUpdate.statusList.length,
|
|
123
|
+
type: ssi_types_1.StatusListType.OAuthStatusList,
|
|
124
|
+
proofFormat,
|
|
125
|
+
id,
|
|
126
|
+
issuer,
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
checkStatusIndex(args) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const { statusListCredential, statusListIndex } = args;
|
|
133
|
+
if (typeof statusListCredential !== 'string') {
|
|
134
|
+
return Promise.reject('statusListCredential in neither JWT nor CWT');
|
|
135
|
+
}
|
|
136
|
+
const proofFormat = (0, utils_1.determineProofFormat)(statusListCredential);
|
|
137
|
+
const { statusList } = proofFormat === 'jwt' ? (0, jwt_1.decodeStatusListJWT)(statusListCredential) : (0, cbor_1.decodeStatusListCWT)(statusListCredential);
|
|
138
|
+
const index = typeof statusListIndex === 'number' ? statusListIndex : parseInt(statusListIndex);
|
|
139
|
+
if (index < 0 || index >= statusList.statusList.length) {
|
|
140
|
+
throw new Error('Status list index out of bounds');
|
|
141
|
+
}
|
|
142
|
+
return statusList.getStatus(index);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.OAuthStatusListImplementation = OAuthStatusListImplementation;
|
|
147
|
+
//# 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,14 @@
|
|
|
1
|
+
import { IAgentContext, ICredentialPlugin, ProofFormat as VmoProofFormat } from '@veramo/core';
|
|
2
|
+
import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
|
+
import { IStatusList } from './IStatusList';
|
|
4
|
+
import { CheckStatusIndexArgs, CreateStatusListArgs, Status2021, StatusListResult, UpdateStatusListFromEncodedListArgs, UpdateStatusListIndexArgs } from '../types';
|
|
5
|
+
export declare const DEFAULT_LIST_LENGTH = 250000;
|
|
6
|
+
export declare const DEFAULT_PROOF_FORMAT: VmoProofFormat;
|
|
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
|
+
private createVerifiableCredential;
|
|
13
|
+
}
|
|
14
|
+
//# 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,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9F,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,mCAAmC,EACnC,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAGjB,eAAO,MAAM,mBAAmB,SAAS,CAAA;AACzC,eAAO,MAAM,oBAAoB,EAAY,cAAc,CAAA;AAE3D,qBAAa,4BAA6B,YAAW,WAAW;IACxD,mBAAmB,CACvB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAsCtB,qBAAqB,CACzB,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAsCtB,+BAA+B,CACnC,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAChE,OAAO,CAAC,gBAAgB,CAAC;IAwCtB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;YAUlE,0BAA0B;CAuCzC"}
|