@sphereon/ssi-sdk.vc-status-list 0.32.1-fix.160 → 0.32.1-next.113
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 +109 -53
- package/dist/functions.js.map +1 -1
- package/dist/types/index.d.ts +30 -115
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -12
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -11
- package/src/functions.ts +159 -73
- package/src/types/index.ts +34 -132
- package/dist/impl/IStatusList.d.ts +0 -26
- package/dist/impl/IStatusList.d.ts.map +0 -1
- package/dist/impl/IStatusList.js +0 -3
- package/dist/impl/IStatusList.js.map +0 -1
- package/dist/impl/OAuthStatusList.d.ts +0 -20
- package/dist/impl/OAuthStatusList.d.ts.map +0 -1
- package/dist/impl/OAuthStatusList.js +0 -147
- package/dist/impl/OAuthStatusList.js.map +0 -1
- package/dist/impl/StatusList2021.d.ts +0 -15
- package/dist/impl/StatusList2021.d.ts.map +0 -1
- package/dist/impl/StatusList2021.js +0 -170
- package/dist/impl/StatusList2021.js.map +0 -1
- package/dist/impl/StatusListFactory.d.ts +0 -11
- package/dist/impl/StatusListFactory.d.ts.map +0 -1
- package/dist/impl/StatusListFactory.js +0 -32
- package/dist/impl/StatusListFactory.js.map +0 -1
- package/dist/impl/encoding/cbor.d.ts +0 -6
- package/dist/impl/encoding/cbor.d.ts.map +0 -1
- package/dist/impl/encoding/cbor.js +0 -140
- package/dist/impl/encoding/cbor.js.map +0 -1
- package/dist/impl/encoding/common.d.ts +0 -12
- package/dist/impl/encoding/common.d.ts.map +0 -1
- package/dist/impl/encoding/common.js +0 -26
- package/dist/impl/encoding/common.js.map +0 -1
- package/dist/impl/encoding/jwt.d.ts +0 -9
- package/dist/impl/encoding/jwt.d.ts.map +0 -1
- package/dist/impl/encoding/jwt.js +0 -74
- package/dist/impl/encoding/jwt.js.map +0 -1
- package/dist/utils.d.ts +0 -17
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -88
- package/dist/utils.js.map +0 -1
- package/src/impl/IStatusList.ts +0 -42
- package/src/impl/OAuthStatusList.ts +0 -196
- package/src/impl/StatusList2021.ts +0 -223
- package/src/impl/StatusListFactory.ts +0 -34
- package/src/impl/encoding/cbor.ts +0 -171
- package/src/impl/encoding/common.ts +0 -25
- package/src/impl/encoding/jwt.ts +0 -80
- package/src/utils.ts +0 -95
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 { OriginalVerifiableCredential, 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,
|
|
5
|
+
import { CreateNewStatusListFuncArgs, StatusList2021ToVerifiableCredentialArgs, StatusListDetails, StatusListResult, UpdateStatusListFromEncodedListArgs, UpdateStatusListFromStatusListCredentialArgs } from './types';
|
|
6
6
|
export declare function fetchStatusListCredential(args: {
|
|
7
7
|
statusListCredential: string;
|
|
8
|
-
}): Promise<
|
|
8
|
+
}): Promise<OriginalVerifiableCredential>;
|
|
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: OriginalVerifiableCredential;
|
|
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: OriginalVerifiableCredential;
|
|
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<boolean>;
|
|
53
53
|
export declare function checkStatusIndexFromStatusListCredential(args: {
|
|
54
|
-
statusListCredential:
|
|
54
|
+
statusListCredential: OriginalVerifiableCredential;
|
|
55
55
|
statusPurpose?: StatusPurpose2021;
|
|
56
56
|
type?: StatusListType | 'StatusList2021Entry';
|
|
57
57
|
id?: string;
|
|
58
58
|
statusListIndex: string | number;
|
|
59
|
-
}): Promise<
|
|
59
|
+
}): Promise<boolean>;
|
|
60
60
|
export declare function createNewStatusList(args: CreateNewStatusListFuncArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListResult>;
|
|
61
|
-
export declare function updateStatusIndexFromStatusListCredential(args:
|
|
61
|
+
export declare function updateStatusIndexFromStatusListCredential(args: UpdateStatusListFromStatusListCredentialArgs, context: IAgentContext<ICredentialPlugin & IIdentifierResolution>): Promise<StatusListDetails>;
|
|
62
62
|
export declare function statusListCredentialToDetails(args: {
|
|
63
|
-
statusListCredential:
|
|
63
|
+
statusListCredential: OriginalVerifiableCredential;
|
|
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<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>;
|
|
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,EAIL,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.js
CHANGED
|
@@ -22,15 +22,14 @@ 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");
|
|
27
25
|
function fetchStatusListCredential(args) {
|
|
28
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
const url =
|
|
27
|
+
const url = getAssertedValue('statusListCredential', args.statusListCredential);
|
|
30
28
|
try {
|
|
31
29
|
const response = yield fetch(url);
|
|
32
30
|
if (!response.ok) {
|
|
33
|
-
|
|
31
|
+
const error = `Fetching status list ${url} resulted in an error: ${response.status} : ${response.statusText}`;
|
|
32
|
+
throw Error(error);
|
|
34
33
|
}
|
|
35
34
|
const responseAsText = yield response.text();
|
|
36
35
|
if (responseAsText.trim().startsWith('{')) {
|
|
@@ -39,7 +38,7 @@ function fetchStatusListCredential(args) {
|
|
|
39
38
|
return responseAsText;
|
|
40
39
|
}
|
|
41
40
|
catch (error) {
|
|
42
|
-
console.
|
|
41
|
+
console.log(`Fetching status list ${url} resulted in an unexpected error: ${error instanceof Error ? error.message : JSON.stringify(error)}`);
|
|
43
42
|
throw error;
|
|
44
43
|
}
|
|
45
44
|
});
|
|
@@ -100,80 +99,118 @@ function simpleCheckStatusFromStatusListUrl(args) {
|
|
|
100
99
|
}
|
|
101
100
|
function checkStatusIndexFromStatusListCredential(args) {
|
|
102
101
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
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;
|
|
106
124
|
});
|
|
107
125
|
}
|
|
108
126
|
function createNewStatusList(args, context) {
|
|
109
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
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
|
+
};
|
|
113
151
|
});
|
|
114
152
|
}
|
|
115
153
|
function updateStatusIndexFromStatusListCredential(args, context) {
|
|
116
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
|
|
118
|
-
const statusListType = (0, utils_1.determineStatusListType)(credential);
|
|
119
|
-
const implementation = (0, StatusListFactory_1.getStatusListImplementation)(statusListType);
|
|
120
|
-
return implementation.updateStatusListIndex(args, context);
|
|
155
|
+
return updateStatusListIndexFromEncodedList(Object.assign(Object.assign({}, (yield statusListCredentialToDetails(args))), { statusListIndex: args.statusListIndex, value: args.value }), context);
|
|
121
156
|
});
|
|
122
157
|
}
|
|
123
|
-
// Keeping helper function for backward compatibility
|
|
124
158
|
function statusListCredentialToDetails(args) {
|
|
125
159
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
const credential =
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
if (
|
|
130
|
-
|
|
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', '');
|
|
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');
|
|
147
165
|
}
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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 }));
|
|
154
173
|
});
|
|
155
174
|
}
|
|
156
175
|
function updateStatusListIndexFromEncodedList(args, context) {
|
|
157
176
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
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
|
+
};
|
|
161
201
|
});
|
|
162
202
|
}
|
|
163
203
|
function statusList2021ToVerifiableCredential(args, context) {
|
|
164
204
|
return __awaiter(this, void 0, void 0, function* () {
|
|
165
205
|
var _a;
|
|
166
|
-
const { issuer, id, type } =
|
|
206
|
+
const { issuer, id, type } = getAssertedValues(args);
|
|
167
207
|
const identifier = yield context.agent.identifierManagedGet({
|
|
168
208
|
identifier: typeof issuer === 'string' ? issuer : issuer.id,
|
|
169
209
|
vmRelationship: 'assertionMethod',
|
|
170
210
|
offlineWhenNoDIDRegistered: true, // FIXME Fix identifier resolution for EBSI
|
|
171
211
|
});
|
|
172
|
-
const
|
|
173
|
-
(
|
|
174
|
-
const veramoProofFormat = proofFormat;
|
|
175
|
-
const encodedList = (0, utils_1.getAssertedValue)('encodedList', args.encodedList);
|
|
176
|
-
const statusPurpose = (0, utils_1.getAssertedValue)('statusPurpose', args.statusPurpose);
|
|
212
|
+
const encodedList = getAssertedValue('encodedList', args.encodedList);
|
|
213
|
+
const statusPurpose = getAssertedValue('statusPurpose', args.statusPurpose);
|
|
177
214
|
const credential = {
|
|
178
215
|
'@context': ['https://www.w3.org/2018/credentials/v1', 'https://w3id.org/vc/status-list/2021/v1'],
|
|
179
216
|
id,
|
|
@@ -191,10 +228,29 @@ function statusList2021ToVerifiableCredential(args, context) {
|
|
|
191
228
|
const verifiableCredential = yield context.agent.createVerifiableCredential({
|
|
192
229
|
credential,
|
|
193
230
|
keyRef: identifier.kmsKeyRef,
|
|
194
|
-
proofFormat:
|
|
231
|
+
proofFormat: (_a = args.proofFormat) !== null && _a !== void 0 ? _a : 'lds',
|
|
195
232
|
fetchRemoteContexts: true,
|
|
196
233
|
});
|
|
197
234
|
return ssi_types_1.CredentialMapper.toWrappedVerifiableCredential(verifiableCredential).original;
|
|
198
235
|
});
|
|
199
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 };
|
|
255
|
+
}
|
|
200
256
|
//# 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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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,83 +1,46 @@
|
|
|
1
1
|
import { IIdentifierResolution } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
2
|
-
import { ICredential, ICredentialStatus, IIssuer, IVerifiableCredential,
|
|
3
|
-
import { CredentialPayload, IAgentContext, ICredentialIssuer, ICredentialPlugin, ICredentialVerifier,
|
|
2
|
+
import { ICredential, ICredentialStatus, IIssuer, IVerifiableCredential, OriginalVerifiableCredential, OrPromise, StatusListCredentialIdMode, StatusListDriverType, StatusListIndexingDirection, StatusListType, StatusPurpose2021 } from '@sphereon/ssi-types';
|
|
3
|
+
import { CredentialPayload, IAgentContext, ICredentialIssuer, ICredentialPlugin, ICredentialVerifier, IPluginMethodMap, ProofFormat } from '@veramo/core';
|
|
4
4
|
import { DataSource } from 'typeorm';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Invalid = 1,
|
|
9
|
-
Suspended = 2
|
|
5
|
+
export interface CreateNewStatusListFuncArgs extends Omit<StatusList2021ToVerifiableCredentialArgs, 'encodedList'> {
|
|
6
|
+
correlationId: string;
|
|
7
|
+
length?: number;
|
|
10
8
|
}
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export interface UpdateStatusListFromEncodedListArgs extends StatusList2021ToVerifiableCredentialArgs {
|
|
10
|
+
statusListIndex: number | string;
|
|
11
|
+
value: boolean;
|
|
14
12
|
}
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
statusPurpose?: StatusPurpose2021;
|
|
18
|
-
};
|
|
19
|
-
export type OAuthStatusListArgs = {
|
|
20
|
-
bitsPerStatus?: BitsPerStatus;
|
|
21
|
-
expiresAt?: Date;
|
|
22
|
-
};
|
|
23
|
-
export type BaseCreateNewStatusListArgs = {
|
|
24
|
-
type: StatusListType;
|
|
25
|
-
id: string;
|
|
26
|
-
issuer: string | IIssuer;
|
|
27
|
-
correlationId?: string;
|
|
28
|
-
length?: number;
|
|
29
|
-
proofFormat?: ProofFormat;
|
|
13
|
+
export interface UpdateStatusListFromStatusListCredentialArgs {
|
|
14
|
+
statusListCredential: OriginalVerifiableCredential;
|
|
30
15
|
keyRef?: string;
|
|
31
|
-
statusList2021?: StatusList2021Args;
|
|
32
|
-
oauthStatusList?: OAuthStatusListArgs;
|
|
33
|
-
};
|
|
34
|
-
export type UpdateStatusList2021Args = {
|
|
35
|
-
statusPurpose: StatusPurpose2021;
|
|
36
|
-
};
|
|
37
|
-
export type UpdateOAuthStatusListArgs = {
|
|
38
|
-
bitsPerStatus: BitsPerStatus;
|
|
39
|
-
expiresAt?: Date;
|
|
40
|
-
};
|
|
41
|
-
export interface UpdateStatusListFromEncodedListArgs {
|
|
42
|
-
type?: StatusListType;
|
|
43
16
|
statusListIndex: number | string;
|
|
44
17
|
value: boolean;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
correlationId?: string;
|
|
48
|
-
encodedList: string;
|
|
18
|
+
}
|
|
19
|
+
export interface StatusList2021ToVerifiableCredentialArgs {
|
|
49
20
|
issuer: string | IIssuer;
|
|
50
21
|
id: string;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
statusListCredential: StatusListCredential;
|
|
22
|
+
type?: StatusListType;
|
|
23
|
+
statusPurpose: StatusPurpose2021;
|
|
24
|
+
encodedList: string;
|
|
25
|
+
proofFormat?: ProofFormat;
|
|
56
26
|
keyRef?: string;
|
|
57
|
-
statusListIndex: number | string;
|
|
58
|
-
value: number | Status2021 | StatusOAuth;
|
|
59
27
|
}
|
|
60
|
-
export interface
|
|
28
|
+
export interface StatusListDetails {
|
|
61
29
|
encodedList: string;
|
|
62
|
-
statusListCredential: StatusListCredential;
|
|
63
30
|
length: number;
|
|
64
31
|
type: StatusListType;
|
|
65
32
|
proofFormat: ProofFormat;
|
|
33
|
+
statusPurpose: StatusPurpose2021;
|
|
66
34
|
id: string;
|
|
67
35
|
issuer: string | IIssuer;
|
|
68
|
-
|
|
69
|
-
|
|
36
|
+
indexingDirection: StatusListIndexingDirection;
|
|
37
|
+
statusListCredential: OriginalVerifiableCredential;
|
|
70
38
|
correlationId?: string;
|
|
71
39
|
driverType?: StatusListDriverType;
|
|
72
40
|
credentialIdMode?: StatusListCredentialIdMode;
|
|
73
41
|
}
|
|
74
|
-
interface
|
|
75
|
-
|
|
76
|
-
statusPurpose?: StatusPurpose2021;
|
|
77
|
-
}
|
|
78
|
-
interface OAuthStatusDetails {
|
|
79
|
-
bitsPerStatus?: BitsPerStatus;
|
|
80
|
-
expiresAt?: Date;
|
|
42
|
+
export interface StatusListResult extends StatusListDetails {
|
|
43
|
+
statusListCredential: OriginalVerifiableCredential;
|
|
81
44
|
}
|
|
82
45
|
export interface StatusList2021EntryCredentialStatus extends ICredentialStatus {
|
|
83
46
|
type: 'StatusList2021Entry';
|
|
@@ -85,48 +48,6 @@ export interface StatusList2021EntryCredentialStatus extends ICredentialStatus {
|
|
|
85
48
|
statusListIndex: string;
|
|
86
49
|
statusListCredential: string;
|
|
87
50
|
}
|
|
88
|
-
export interface StatusListOAuthEntryCredentialStatus extends ICredentialStatus {
|
|
89
|
-
type: 'OAuthStatusListEntry';
|
|
90
|
-
bitsPerStatus: number;
|
|
91
|
-
statusListIndex: string;
|
|
92
|
-
statusListCredential: string;
|
|
93
|
-
expiresAt?: Date;
|
|
94
|
-
}
|
|
95
|
-
export interface StatusList2021ToVerifiableCredentialArgs {
|
|
96
|
-
issuer: string | IIssuer;
|
|
97
|
-
id: string;
|
|
98
|
-
type?: StatusListType;
|
|
99
|
-
proofFormat?: ProofFormat;
|
|
100
|
-
keyRef?: string;
|
|
101
|
-
encodedList: string;
|
|
102
|
-
statusPurpose: StatusPurpose2021;
|
|
103
|
-
}
|
|
104
|
-
export interface CreateStatusListArgs {
|
|
105
|
-
issuer: string | IIssuer;
|
|
106
|
-
id: string;
|
|
107
|
-
proofFormat?: ProofFormat;
|
|
108
|
-
keyRef?: string;
|
|
109
|
-
correlationId?: string;
|
|
110
|
-
length?: number;
|
|
111
|
-
statusList2021?: StatusList2021Args;
|
|
112
|
-
oauthStatusList?: OAuthStatusListArgs;
|
|
113
|
-
}
|
|
114
|
-
export interface UpdateStatusListIndexArgs {
|
|
115
|
-
statusListCredential: StatusListCredential;
|
|
116
|
-
statusListIndex: number | string;
|
|
117
|
-
value: number | Status2021 | StatusOAuth;
|
|
118
|
-
keyRef?: string;
|
|
119
|
-
expiresAt?: Date;
|
|
120
|
-
}
|
|
121
|
-
export interface CheckStatusIndexArgs {
|
|
122
|
-
statusListCredential: StatusListCredential;
|
|
123
|
-
statusListIndex: string | number;
|
|
124
|
-
}
|
|
125
|
-
export interface ToStatusListDetailsArgs {
|
|
126
|
-
statusListPayload: StatusListCredential;
|
|
127
|
-
correlationId?: string;
|
|
128
|
-
driverType?: StatusListDriverType;
|
|
129
|
-
}
|
|
130
51
|
/**
|
|
131
52
|
* The interface definition for a plugin that can add statuslist info to a credential
|
|
132
53
|
*
|
|
@@ -143,7 +64,7 @@ export interface IStatusListPlugin extends IPluginMethodMap {
|
|
|
143
64
|
*
|
|
144
65
|
* @returns - The details of the newly created status list
|
|
145
66
|
*/
|
|
146
|
-
slCreateStatusList(args: CreateNewStatusListArgs, context: IRequiredContext): Promise<
|
|
67
|
+
slCreateStatusList(args: CreateNewStatusListArgs, context: IRequiredContext): Promise<StatusListDetails>;
|
|
147
68
|
/**
|
|
148
69
|
* Ensures status list info like index and list id is added to a credential
|
|
149
70
|
*
|
|
@@ -160,14 +81,8 @@ export interface IStatusListPlugin extends IPluginMethodMap {
|
|
|
160
81
|
* @param args
|
|
161
82
|
* @param context
|
|
162
83
|
*/
|
|
163
|
-
slGetStatusList(args: GetStatusListArgs, context: IRequiredContext): Promise<
|
|
84
|
+
slGetStatusList(args: GetStatusListArgs, context: IRequiredContext): Promise<StatusListDetails>;
|
|
164
85
|
}
|
|
165
|
-
export type CreateNewStatusListFuncArgs = BaseCreateNewStatusListArgs;
|
|
166
|
-
export type CreateNewStatusListArgs = BaseCreateNewStatusListArgs & {
|
|
167
|
-
dataSource?: OrPromise<DataSource>;
|
|
168
|
-
dbName?: string;
|
|
169
|
-
isDefault?: boolean;
|
|
170
|
-
};
|
|
171
86
|
export type IAddStatusToCredentialArgs = Omit<IIssueCredentialStatusOpts, 'dataSource'> & {
|
|
172
87
|
credential: CredentialWithStatusSupport;
|
|
173
88
|
};
|
|
@@ -185,12 +100,12 @@ export type GetStatusListArgs = {
|
|
|
185
100
|
dataSource?: OrPromise<DataSource>;
|
|
186
101
|
dbName?: string;
|
|
187
102
|
};
|
|
188
|
-
export type
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
103
|
+
export type CreateNewStatusListArgs = CreateNewStatusListFuncArgs & {
|
|
104
|
+
dataSource?: OrPromise<DataSource>;
|
|
105
|
+
dbName?: string;
|
|
106
|
+
isDefault?: boolean;
|
|
192
107
|
};
|
|
108
|
+
export type CredentialWithStatusSupport = ICredential | CredentialPayload | IVerifiableCredential;
|
|
193
109
|
export type IRequiredPlugins = ICredentialPlugin & IIdentifierResolution;
|
|
194
|
-
export type IRequiredContext = IAgentContext<ICredentialIssuer & ICredentialVerifier & IIdentifierResolution
|
|
195
|
-
export {};
|
|
110
|
+
export type IRequiredContext = IAgentContext<ICredentialIssuer & ICredentialVerifier & IIdentifierResolution>;
|
|
196
111
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,qBAAqB,EACrB,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Status2021 = exports.StatusOAuth = void 0;
|
|
4
|
-
var StatusOAuth;
|
|
5
|
-
(function (StatusOAuth) {
|
|
6
|
-
StatusOAuth[StatusOAuth["Valid"] = 0] = "Valid";
|
|
7
|
-
StatusOAuth[StatusOAuth["Invalid"] = 1] = "Invalid";
|
|
8
|
-
StatusOAuth[StatusOAuth["Suspended"] = 2] = "Suspended";
|
|
9
|
-
})(StatusOAuth || (exports.StatusOAuth = StatusOAuth = {}));
|
|
10
|
-
var Status2021;
|
|
11
|
-
(function (Status2021) {
|
|
12
|
-
Status2021[Status2021["Valid"] = 0] = "Valid";
|
|
13
|
-
Status2021[Status2021["Invalid"] = 1] = "Invalid";
|
|
14
|
-
})(Status2021 || (exports.Status2021 = Status2021 = {}));
|
|
15
3
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|