@sphereon/ssi-types 0.18.1-next.3 → 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":"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"}
@@ -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 core_1 = require("@sd-jwt/core");
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
- var _a, _b;
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: compactSdJwtVc,
44
- decodedPayload: (0, swapClaim_1.swapClaims)(sdJwtVc.payload, disclosuresWithDigests),
45
- disclosures: disclosuresWithDigests.map((d) => ({
46
- decoded: d.decoded,
47
- digest: d.digest,
48
- encoded: d.encoded,
49
- })),
50
- signedPayload: sdJwtVc.payload,
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 sdJwtVc = core_1.SdJwtVc.fromCompact(compactSdJwtVc);
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: compactSdJwtVc,
76
- decodedPayload: (0, swapClaim_1.swapClaims)(sdJwtVc.payload, disclosuresWithDigests),
77
- disclosures: disclosuresWithDigests.map((d) => ({
78
- decoded: d.decoded,
79
- digest: d.digest,
80
- encoded: d.encoded,
81
- })),
82
- signedPayload: sdJwtVc.payload,
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,uCAAsC;AACtC,kEAA+D;AA0K/D,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,OAAO,GAAG,cAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IAEnD,oDAAoD;IACpD,IAAI,KAAK,GAAG,SAAS,CAAA;IACrB,IAAI;QACF,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;KAC7C;IAAC,WAAM;QACN,WAAW;KACZ;IAED,MAAM,sBAAsB,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAA;IAElI,OAAO;QACL,cAAc,EAAE,cAAc;QAC9B,cAAc,EAAE,IAAA,sBAAU,EAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAA4C;QAC9G,WAAW,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,OAAiC;YAC5C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,aAAa,EAAE,OAAO,CAAC,OAAkD;KAC1E,CAAA;AACH,CAAC;AAvBD,sCAuBC;AAED;;;;;;GAMG;AACH,SAAsB,kBAAkB,CAAC,cAA8B,EAAE,MAAmB;;;QAC1F,MAAM,OAAO,GAAG,cAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;QAEnD,oDAAoD;QACpD,IAAI,KAAK,GAAG,SAAS,CAAA;QACrB,IAAI;YACF,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;SAC7C;QAAC,WAAM;YACN,WAAW;SACZ;QAED,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9C,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CACpG,CAAA;QAED,OAAO;YACL,cAAc,EAAE,cAAc;YAC9B,cAAc,EAAE,IAAA,sBAAU,EAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAA4C;YAC9G,WAAW,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC,CAAC,OAAiC;gBAC5C,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,aAAa,EAAE,OAAO,CAAC,OAAkD;SAC1E,CAAA;;CACF;AAzBD,gDAyBC"}
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.3+9fe6467b",
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/core": "0.1.2-alpha.0",
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": "9fe6467bdd803996d0b910407d0e0f5fb52856b1"
45
+ "gitHead": "db354a9ed716c95f2cadc6bf762cdffc38042f45"
46
46
  }
@@ -1,6 +1,6 @@
1
1
  import { OriginalType, WrappedVerifiableCredential, WrappedVerifiablePresentation } from './vc'
2
- import { SdJwtVc } from '@sd-jwt/core'
3
- import { swapClaims } from '@sd-jwt/core/build/sdJwt/swapClaim'
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 sdJwtVc = SdJwtVc.fromCompact(compactSdJwtVc)
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: compactSdJwtVc,
206
- decodedPayload: swapClaims(sdJwtVc.payload, disclosuresWithDigests) as SdJwtDecodedVerifiableCredentialPayload,
207
- disclosures: disclosuresWithDigests.map((d) => ({
208
- decoded: d.decoded as SdJwtDecodedDisclosure,
209
- digest: d.digest,
210
- encoded: d.encoded,
211
- })),
212
- signedPayload: sdJwtVc.payload as SdJwtDecodedVerifiableCredentialPayload,
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 sdJwtVc = SdJwtVc.fromCompact(compactSdJwtVc)
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: compactSdJwtVc,
240
- decodedPayload: swapClaims(sdJwtVc.payload, disclosuresWithDigests) as SdJwtDecodedVerifiableCredentialPayload,
241
- disclosures: disclosuresWithDigests.map((d) => ({
242
- decoded: d.decoded as SdJwtDecodedDisclosure,
243
- digest: d.digest,
244
- encoded: d.encoded,
245
- })),
246
- signedPayload: sdJwtVc.payload as SdJwtDecodedVerifiableCredentialPayload,
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
  }