@sphereon/ssi-types 0.18.1-next.4 → 0.18.1-next.8
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,MAAM,CAAA;AAG/F,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAEtG,KAAK,cAAc,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IACvC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,GACD,KAAK,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE7C;;;GAGG;AACH,MAAM,WAAW,uCAAuC;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE;QACJ,GAAG,CAAC,EAAE,GAAG,CAAA;QACT,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;GAEG;AACH,UAAU,sCAAuC,SAAQ,uCAAuC;IAE9F,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CACxC;AAED,KAAK,eAAe,GAAG,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAC1F,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEpE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uCAAuC;IACnF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAA;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtF,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,MAAM,CAAA;IAGf,OAAO,EAAE,sBAAsB,CAAA;IAG/B,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;iEAE6D;IAC7D,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;IAEnC;;;OAGG;IACH,aAAa,EAAE,sCAAsC,CAAA;IAErD;;;;;;;OAOG;IACH,cAAc,EAAE,uCAAuC,CAAA;CACxD;AAED,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,QAAQ,EAAE,gCAAgC,GAAG,cAAc,CAAA;IAC3D;;;OAGG;IACH,OAAO,EAAE,uCAAuC,CAAA;IAChD;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAA;IACrE;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IACnB;;OAEG;IACH,UAAU,EAAE,gCAAgC,CAAA;CAC7C;AAED,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,QAAQ,EAAE,gCAAgC,GAAG,cAAc,CAAA;IAC3D;;OAEG;IACH,OAAO,EAAE,uCAAuC,CAAA;IAChD;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAA;IACrE;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IACnB;;OAEG;IACH,YAAY,EAAE,gCAAgC,CAAA;IAC9C;;;OAGG;IACH,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAA;CACxC;AAED,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,2BAA2B,GAAG,EAAE,IAAI,gCAAgC,CAE1H;AAED,wBAAgB,oCAAoC,CAAC,EAAE,EAAE,6BAA6B,GAAG,EAAE,IAAI,kCAAkC,CAEhI;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAE5E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,gCAAgC,CAgB9G;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAgBvI"}
|
package/dist/types/sd-jwt-vc.js
CHANGED
|
@@ -10,8 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.decodeSdJwtVcAsync = exports.decodeSdJwtVc = exports.isWrappedSdJwtVerifiablePresentation = exports.isWrappedSdJwtVerifiableCredential = void 0;
|
|
13
|
-
const
|
|
14
|
-
const swapClaim_1 = require("@sd-jwt/core/build/sdJwt/swapClaim");
|
|
13
|
+
const decode_1 = require("@sd-jwt/decode");
|
|
15
14
|
function isWrappedSdJwtVerifiableCredential(vc) {
|
|
16
15
|
return vc.format === 'vc+sd-jwt';
|
|
17
16
|
}
|
|
@@ -28,26 +27,19 @@ exports.isWrappedSdJwtVerifiablePresentation = isWrappedSdJwtVerifiablePresentat
|
|
|
28
27
|
* this method hides the actual implementation of SD-JWT (which is currently based on @sd-jwt/core)
|
|
29
28
|
*/
|
|
30
29
|
function decodeSdJwtVc(compactSdJwtVc, hasher) {
|
|
31
|
-
|
|
32
|
-
const sdJwtVc = core_1.SdJwtVc.fromCompact(compactSdJwtVc);
|
|
33
|
-
// Default (should be handled by the sd-jwt library)
|
|
34
|
-
let sdAlg = 'sha-256';
|
|
35
|
-
try {
|
|
36
|
-
sdAlg = sdJwtVc.getClaimInPayload('_sd_alg');
|
|
37
|
-
}
|
|
38
|
-
catch (_c) {
|
|
39
|
-
/* no-op */
|
|
40
|
-
}
|
|
41
|
-
const disclosuresWithDigests = (_b = (_a = sdJwtVc.disclosures) === null || _a === void 0 ? void 0 : _a.map((d) => d.withCalculateDigest((data) => hasher(data, sdAlg)))) !== null && _b !== void 0 ? _b : [];
|
|
30
|
+
const { signedPayload, decodedPayload, disclosures } = (0, decode_1.decodeSdJwtVc)(compactSdJwtVc, hasher);
|
|
42
31
|
return {
|
|
43
|
-
compactSdJwtVc
|
|
44
|
-
decodedPayload:
|
|
45
|
-
disclosures:
|
|
46
|
-
decoded: d.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
compactSdJwtVc,
|
|
33
|
+
decodedPayload: decodedPayload,
|
|
34
|
+
disclosures: disclosures.map((d) => {
|
|
35
|
+
const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value];
|
|
36
|
+
return {
|
|
37
|
+
decoded: decoded,
|
|
38
|
+
digest: d.digest,
|
|
39
|
+
encoded: d.encoded,
|
|
40
|
+
};
|
|
41
|
+
}),
|
|
42
|
+
signedPayload: signedPayload,
|
|
51
43
|
};
|
|
52
44
|
}
|
|
53
45
|
exports.decodeSdJwtVc = decodeSdJwtVc;
|
|
@@ -59,27 +51,20 @@ exports.decodeSdJwtVc = decodeSdJwtVc;
|
|
|
59
51
|
* this method hides the actual implementation of SD-JWT (which is currently based on @sd-jwt/core)
|
|
60
52
|
*/
|
|
61
53
|
function decodeSdJwtVcAsync(compactSdJwtVc, hasher) {
|
|
62
|
-
var _a, _b;
|
|
63
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const
|
|
65
|
-
// Default (should be handled by the sd-jwt library)
|
|
66
|
-
let sdAlg = 'sha-256';
|
|
67
|
-
try {
|
|
68
|
-
sdAlg = sdJwtVc.getClaimInPayload('_sd_alg');
|
|
69
|
-
}
|
|
70
|
-
catch (_c) {
|
|
71
|
-
/* no-op */
|
|
72
|
-
}
|
|
73
|
-
const disclosuresWithDigests = yield Promise.all((_b = (_a = sdJwtVc.disclosures) === null || _a === void 0 ? void 0 : _a.map((d) => d.withCalculateDigest((data) => hasher(data, sdAlg)))) !== null && _b !== void 0 ? _b : []);
|
|
55
|
+
const { signedPayload, decodedPayload, disclosures } = yield (0, decode_1.decodeSdJwtVc)(compactSdJwtVc, hasher);
|
|
74
56
|
return {
|
|
75
|
-
compactSdJwtVc
|
|
76
|
-
decodedPayload:
|
|
77
|
-
disclosures:
|
|
78
|
-
decoded: d.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
57
|
+
compactSdJwtVc,
|
|
58
|
+
decodedPayload: decodedPayload,
|
|
59
|
+
disclosures: disclosures.map((d) => {
|
|
60
|
+
const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value];
|
|
61
|
+
return {
|
|
62
|
+
decoded: decoded,
|
|
63
|
+
digest: d.digest,
|
|
64
|
+
encoded: d.encoded,
|
|
65
|
+
};
|
|
66
|
+
}),
|
|
67
|
+
signedPayload: signedPayload,
|
|
83
68
|
};
|
|
84
69
|
});
|
|
85
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAAgE;AA2KhE,SAAgB,kCAAkC,CAAC,EAA+B;IAChF,OAAO,EAAE,CAAC,MAAM,KAAK,WAAW,CAAA;AAClC,CAAC;AAFD,gFAEC;AAED,SAAgB,oCAAoC,CAAC,EAAiC;IACpF,OAAO,EAAE,CAAC,MAAM,KAAK,WAAW,CAAA;AAClC,CAAC;AAFD,oFAEC;AAKD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,cAA8B,EAAE,MAAc;IAC1E,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAA,sBAAc,EAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IAE7F,OAAO;QACL,cAAc;QACd,cAAc,EAAE,cAAyD;QACzE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;YACpE,OAAO;gBACL,OAAO,EAAE,OAAiC;gBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACO,CAAA;QAC7B,CAAC,CAAC;QACF,aAAa,EAAE,aAAwD;KACxE,CAAA;AACH,CAAC;AAhBD,sCAgBC;AAED;;;;;;GAMG;AACH,SAAsB,kBAAkB,CAAC,cAA8B,EAAE,MAAmB;;QAC1F,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,sBAAc,EAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAEnG,OAAO;YACL,cAAc;YACd,cAAc,EAAE,cAAyD;YACzE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;gBACpE,OAAO;oBACL,OAAO,EAAE,OAAiC;oBAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACO,CAAA;YAC7B,CAAC,CAAC;YACF,aAAa,EAAE,aAAwD;SACxE,CAAA;IACH,CAAC;CAAA;AAhBD,gDAgBC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-types",
|
|
3
3
|
"description": "SSI Common Types",
|
|
4
|
-
"version": "0.18.1-next.
|
|
4
|
+
"version": "0.18.1-next.8+db354a9e",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"build:clean": "tsc --build --clean && tsc --build"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@sd-jwt/
|
|
12
|
+
"@sd-jwt/decode": "^0.2.0",
|
|
13
13
|
"jwt-decode": "^3.1.2"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"Verifiable Credentials",
|
|
43
43
|
"DIDs"
|
|
44
44
|
],
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "db354a9ed716c95f2cadc6bf762cdffc38042f45"
|
|
46
46
|
}
|
package/src/types/sd-jwt-vc.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OriginalType, WrappedVerifiableCredential, WrappedVerifiablePresentation } from './vc'
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { decodeSdJwtVc as _decodeSdJwtVc } from '@sd-jwt/decode'
|
|
3
|
+
|
|
4
4
|
type JsonValue = string | number | boolean | { [x: string]: JsonValue | undefined } | Array<JsonValue>
|
|
5
5
|
|
|
6
6
|
type SdJwtJsonValue =
|
|
@@ -189,27 +189,20 @@ export type AsyncHasher = (data: string, alg: string) => Promise<Uint8Array>
|
|
|
189
189
|
* this method hides the actual implementation of SD-JWT (which is currently based on @sd-jwt/core)
|
|
190
190
|
*/
|
|
191
191
|
export function decodeSdJwtVc(compactSdJwtVc: CompactSdJwtVc, hasher: Hasher): SdJwtDecodedVerifiableCredential {
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
// Default (should be handled by the sd-jwt library)
|
|
195
|
-
let sdAlg = 'sha-256'
|
|
196
|
-
try {
|
|
197
|
-
sdAlg = sdJwtVc.getClaimInPayload('_sd_alg')
|
|
198
|
-
} catch {
|
|
199
|
-
/* no-op */
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const disclosuresWithDigests = sdJwtVc.disclosures?.map((d) => d.withCalculateDigest((data: string) => hasher(data, sdAlg))) ?? []
|
|
192
|
+
const { signedPayload, decodedPayload, disclosures } = _decodeSdJwtVc(compactSdJwtVc, hasher)
|
|
203
193
|
|
|
204
194
|
return {
|
|
205
|
-
compactSdJwtVc
|
|
206
|
-
decodedPayload:
|
|
207
|
-
disclosures:
|
|
208
|
-
decoded
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
195
|
+
compactSdJwtVc,
|
|
196
|
+
decodedPayload: decodedPayload as SdJwtDecodedVerifiableCredentialPayload,
|
|
197
|
+
disclosures: disclosures.map((d) => {
|
|
198
|
+
const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value]
|
|
199
|
+
return {
|
|
200
|
+
decoded: decoded as SdJwtDecodedDisclosure,
|
|
201
|
+
digest: d.digest,
|
|
202
|
+
encoded: d.encoded,
|
|
203
|
+
} satisfies SdJwtDisclosure
|
|
204
|
+
}),
|
|
205
|
+
signedPayload: signedPayload as SdJwtDecodedVerifiableCredentialPayload,
|
|
213
206
|
}
|
|
214
207
|
}
|
|
215
208
|
|
|
@@ -221,28 +214,19 @@ export function decodeSdJwtVc(compactSdJwtVc: CompactSdJwtVc, hasher: Hasher): S
|
|
|
221
214
|
* this method hides the actual implementation of SD-JWT (which is currently based on @sd-jwt/core)
|
|
222
215
|
*/
|
|
223
216
|
export async function decodeSdJwtVcAsync(compactSdJwtVc: CompactSdJwtVc, hasher: AsyncHasher): Promise<SdJwtDecodedVerifiableCredential> {
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
// Default (should be handled by the sd-jwt library)
|
|
227
|
-
let sdAlg = 'sha-256'
|
|
228
|
-
try {
|
|
229
|
-
sdAlg = sdJwtVc.getClaimInPayload('_sd_alg')
|
|
230
|
-
} catch {
|
|
231
|
-
/* no-op */
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
const disclosuresWithDigests = await Promise.all(
|
|
235
|
-
sdJwtVc.disclosures?.map((d) => d.withCalculateDigest((data: string) => hasher(data, sdAlg))) ?? []
|
|
236
|
-
)
|
|
217
|
+
const { signedPayload, decodedPayload, disclosures } = await _decodeSdJwtVc(compactSdJwtVc, hasher)
|
|
237
218
|
|
|
238
219
|
return {
|
|
239
|
-
compactSdJwtVc
|
|
240
|
-
decodedPayload:
|
|
241
|
-
disclosures:
|
|
242
|
-
decoded
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
220
|
+
compactSdJwtVc,
|
|
221
|
+
decodedPayload: decodedPayload as SdJwtDecodedVerifiableCredentialPayload,
|
|
222
|
+
disclosures: disclosures.map((d) => {
|
|
223
|
+
const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value]
|
|
224
|
+
return {
|
|
225
|
+
decoded: decoded as SdJwtDecodedDisclosure,
|
|
226
|
+
digest: d.digest,
|
|
227
|
+
encoded: d.encoded,
|
|
228
|
+
} satisfies SdJwtDisclosure
|
|
229
|
+
}),
|
|
230
|
+
signedPayload: signedPayload as SdJwtDecodedVerifiableCredentialPayload,
|
|
247
231
|
}
|
|
248
232
|
}
|