@proof.com/proof-vc-common 0.2.0 → 0.3.0

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 (81) hide show
  1. package/dist/client.d.ts +13 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +39 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/constants.d.ts +4 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +3 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/dcql.d.ts +14 -0
  10. package/dist/dcql.d.ts.map +1 -0
  11. package/dist/dcql.js +11 -0
  12. package/dist/dcql.js.map +1 -0
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/internal.d.ts +27 -0
  18. package/dist/internal.d.ts.map +1 -0
  19. package/dist/internal.js +42 -0
  20. package/dist/internal.js.map +1 -0
  21. package/dist/types.d.ts +0 -9
  22. package/dist/types.d.ts.map +1 -1
  23. package/package.json +13 -35
  24. package/LICENSE +0 -201
  25. package/README.md +0 -299
  26. package/dist/certificates/chain_validator.d.ts +0 -3
  27. package/dist/certificates/chain_validator.d.ts.map +0 -1
  28. package/dist/certificates/chain_validator.js +0 -29
  29. package/dist/certificates/chain_validator.js.map +0 -1
  30. package/dist/certificates/trust_store/index.d.ts +0 -4
  31. package/dist/certificates/trust_store/index.d.ts.map +0 -1
  32. package/dist/certificates/trust_store/index.js +0 -14
  33. package/dist/certificates/trust_store/index.js.map +0 -1
  34. package/dist/certificates/trust_store/proof_root_ca_r1.d.ts +0 -2
  35. package/dist/certificates/trust_store/proof_root_ca_r1.d.ts.map +0 -1
  36. package/dist/certificates/trust_store/proof_root_ca_r1.js +0 -16
  37. package/dist/certificates/trust_store/proof_root_ca_r1.js.map +0 -1
  38. package/dist/certificates/trust_store/proof_root_ca_r1_development.d.ts +0 -2
  39. package/dist/certificates/trust_store/proof_root_ca_r1_development.d.ts.map +0 -1
  40. package/dist/certificates/trust_store/proof_root_ca_r1_development.js +0 -17
  41. package/dist/certificates/trust_store/proof_root_ca_r1_development.js.map +0 -1
  42. package/dist/index.browser.d.ts +0 -6
  43. package/dist/index.browser.d.ts.map +0 -1
  44. package/dist/index.browser.js +0 -3
  45. package/dist/index.browser.js.map +0 -1
  46. package/dist/index.node.d.ts +0 -8
  47. package/dist/index.node.d.ts.map +0 -1
  48. package/dist/index.node.js +0 -4
  49. package/dist/index.node.js.map +0 -1
  50. package/dist/presentation/base_client.d.ts +0 -36
  51. package/dist/presentation/base_client.d.ts.map +0 -1
  52. package/dist/presentation/base_client.js +0 -88
  53. package/dist/presentation/base_client.js.map +0 -1
  54. package/dist/presentation/node_client.d.ts +0 -34
  55. package/dist/presentation/node_client.d.ts.map +0 -1
  56. package/dist/presentation/node_client.js +0 -152
  57. package/dist/presentation/node_client.js.map +0 -1
  58. package/dist/proof_credential_factory.d.ts +0 -4
  59. package/dist/proof_credential_factory.d.ts.map +0 -1
  60. package/dist/proof_credential_factory.js +0 -37
  61. package/dist/proof_credential_factory.js.map +0 -1
  62. package/dist/proof_credentials.d.ts +0 -37
  63. package/dist/proof_credentials.d.ts.map +0 -1
  64. package/dist/proof_credentials.js +0 -43
  65. package/dist/proof_credentials.js.map +0 -1
  66. package/dist/transaction_data.d.ts +0 -73
  67. package/dist/transaction_data.d.ts.map +0 -1
  68. package/dist/transaction_data.js +0 -51
  69. package/dist/transaction_data.js.map +0 -1
  70. package/dist/utils.d.ts +0 -3
  71. package/dist/utils.d.ts.map +0 -1
  72. package/dist/utils.js +0 -10
  73. package/dist/utils.js.map +0 -1
  74. package/dist/vc_presentation.browser.d.ts +0 -4
  75. package/dist/vc_presentation.browser.d.ts.map +0 -1
  76. package/dist/vc_presentation.browser.js +0 -13
  77. package/dist/vc_presentation.browser.js.map +0 -1
  78. package/dist/vc_presentation.node.d.ts +0 -8
  79. package/dist/vc_presentation.node.d.ts.map +0 -1
  80. package/dist/vc_presentation.node.js +0 -23
  81. package/dist/vc_presentation.node.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"node_client.d.ts","sourceRoot":"","sources":["../../src/presentation/node_client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACR,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAiCF,qBAAa,wBAAyB,SAAQ,oBAAoB;IAChE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,6BAA6B,EAAE,OAAO,CAAS;IAClE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;gBAE7B,MAAM,EAAE,cAAc;IAaZ,0BAA0B,CAC9C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC;cAOC,qCAAqC,IAAI,MAAM,CAChE,MAAM,EACN,MAAM,CACP;cASe,wBAAwB,CACtC,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC;IAyBlB,SAAS,CAAC,gBAAgB,IAAI,SAAS;IAO1B,MAAM,CAAC,EAClB,YAAY,EACZ,KAAK,EACL,GAAG,GACJ,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAoD7B,aAAa,CAAC,EACzB,cAAc,EACd,KAAK,EACL,GAAG,GACJ,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAqB1C"}
@@ -1,152 +0,0 @@
1
- import { X509Certificate } from "node:crypto";
2
- import { Buffer } from "node:buffer";
3
- import { SDJwtVcInstance } from "@sd-jwt/sd-jwt-vc";
4
- import { ES256, ES384, ES512, hasher } from "@owf/crypto";
5
- import { base64urlDecode } from "@owf/identity-common";
6
- import { credentialIdAsType } from "../utils.js";
7
- import { getProofCredential } from "../proof_credential_factory.js";
8
- import { verifyChain } from "../certificates/chain_validator.js";
9
- import { getTrustRoot } from "../certificates/trust_store/index.js";
10
- import { VCPresentationClient, } from "./base_client.js";
11
- const VERIFIERS = { ES256, ES384, ES512 };
12
- const EXPECTED_CURVE = {
13
- ES256: "P-256",
14
- ES384: "P-384",
15
- ES512: "P-521",
16
- };
17
- function isSupportedAlg(s) {
18
- return typeof s === "string" && s in VERIFIERS;
19
- }
20
- function kbVerifierFor(kbAlg) {
21
- return async (data, sig, payload) => {
22
- const cnfJwk = payload.cnf?.jwk;
23
- if (cnfJwk === undefined) {
24
- throw "SD-JWT-VC is missing cnf.jwk — cannot verify KB JWT";
25
- }
26
- if (cnfJwk.crv !== EXPECTED_CURVE[kbAlg]) {
27
- throw `cnf.jwk curve ${cnfJwk.crv} does not match KB JWT alg ${kbAlg}`;
28
- }
29
- const verifier = await VERIFIERS[kbAlg].getVerifier(cnfJwk);
30
- return verifier(data, sig);
31
- };
32
- }
33
- export class NodeVCPresentationClient extends VCPresentationClient {
34
- clientSecret;
35
- usePushedAuthorizationRequest = false;
36
- trustRoot;
37
- constructor(params) {
38
- super(params);
39
- if (params.clientSecret !== undefined) {
40
- this.clientSecret = params.clientSecret;
41
- }
42
- if (params.usePushedAuthorizationRequest !== undefined) {
43
- this.usePushedAuthorizationRequest = params.usePushedAuthorizationRequest;
44
- }
45
- if (params.trustRoot !== undefined) {
46
- this.trustRoot = params.trustRoot;
47
- }
48
- }
49
- async getAuthorizationRequestURL(params) {
50
- this.requireRequestConfig();
51
- return this.usePushedAuthorizationRequest
52
- ? this.pushAuthorizationRequest(params)
53
- : this.buildAuthorizeURL(params);
54
- }
55
- defaultAuthorizationRequestParameters() {
56
- return {
57
- ...super.defaultAuthorizationRequestParameters(),
58
- ...(this.clientSecret !== undefined && {
59
- client_secret: this.clientSecret,
60
- }),
61
- };
62
- }
63
- async pushAuthorizationRequest(params) {
64
- if (this.clientSecret === undefined) {
65
- throw "pushed authorization requests require `clientSecret` in init()";
66
- }
67
- const parURL = new URL(`${this.oid4vpUri}/par`, this.baseURL()).toString();
68
- const response = await fetch(parURL, {
69
- method: "POST",
70
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
71
- body: this.buildParameters(params).toString(),
72
- });
73
- const data = await response.json();
74
- if (!response.ok) {
75
- throw `${data["error"]}: ${data["error_description"]}`;
76
- }
77
- const authorizeURL = new URL(`${this.oid4vpUri}/authorize`, this.baseURL());
78
- authorizeURL.search = new URLSearchParams({
79
- client_id: this.clientId,
80
- request_uri: data["request_uri"],
81
- }).toString();
82
- return authorizeURL.toString();
83
- }
84
- requireTrustRoot() {
85
- if (this.trustRoot === undefined) {
86
- throw "verify requires `trustRoot` in init()";
87
- }
88
- return this.trustRoot;
89
- }
90
- async verify({ encodedSDJWT, nonce, aud, }) {
91
- const decoded = await new SDJwtVcInstance({ hasher }).decode(encodedSDJWT);
92
- const alg = decoded.jwt?.header?.["alg"];
93
- const x5c = decoded.jwt?.header?.["x5c"];
94
- if (!isSupportedAlg(alg)) {
95
- throw `Unsupported or missing alg: ${alg}`;
96
- }
97
- if (!Array.isArray(x5c) || x5c.length === 0) {
98
- throw "JWT header x5c is missing or empty";
99
- }
100
- let kbVerifier = null;
101
- const kbAlg = decoded.kbJwt?.header?.alg;
102
- if (decoded.kbJwt !== undefined) {
103
- if (nonce === undefined) {
104
- throw "SD-JWT-VC contains a KB JWT but no nonce was supplied for verification";
105
- }
106
- if (!isSupportedAlg(kbAlg)) {
107
- throw `Unsupported or missing KB JWT alg: ${kbAlg}`;
108
- }
109
- if (aud !== undefined && decoded.kbJwt.payload?.aud !== aud) {
110
- throw `KB JWT aud ${decoded.kbJwt.payload?.aud} does not match expected aud ${aud}`;
111
- }
112
- kbVerifier = kbVerifierFor(kbAlg);
113
- }
114
- else if (aud !== undefined) {
115
- throw "aud was supplied for verification but the SD-JWT-VC contains no KB JWT";
116
- }
117
- const chain = x5c.map((b64) => new X509Certificate(Buffer.from(b64, "base64")));
118
- verifyChain(chain, getTrustRoot(this.requireTrustRoot()));
119
- const leafJwk = chain[0].publicKey.export({ format: "jwk" });
120
- if (leafJwk.crv !== EXPECTED_CURVE[alg]) {
121
- throw `Leaf cert curve ${leafJwk.crv} does not match alg ${alg}`;
122
- }
123
- const verifier = await VERIFIERS[alg].getVerifier(leafJwk);
124
- const SDJWTClient = new SDJwtVcInstance({
125
- hasher,
126
- verifier,
127
- ...(kbVerifier !== null && { kbVerifier }),
128
- });
129
- await SDJWTClient.verify(encodedSDJWT, {
130
- ...(nonce !== undefined ? { keyBindingNonce: nonce } : {}),
131
- });
132
- return getProofCredential(decoded);
133
- }
134
- async verifyVPToken({ encodedVPToken, nonce, aud, }) {
135
- const records = JSON.parse(base64urlDecode(encodedVPToken));
136
- const vpToken = {};
137
- for (const [key, encodedSDJWTs] of Object.entries(records)) {
138
- const credentialId = credentialIdAsType(key);
139
- vpToken[credentialId] = [];
140
- for (const encodedSDJWT of encodedSDJWTs) {
141
- const credential = await this.verify({
142
- encodedSDJWT,
143
- ...(nonce !== undefined && { nonce }),
144
- ...(aud !== undefined && { aud }),
145
- });
146
- vpToken[credentialId].push(credential);
147
- }
148
- }
149
- return vpToken;
150
- }
151
- }
152
- //# sourceMappingURL=node_client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node_client.js","sourceRoot":"","sources":["../../src/presentation/node_client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { SDJwt } from "@sd-jwt/core";
2
- import { type ProofCredential } from "./proof_credentials.ts";
3
- export declare const getProofCredential: (sdjwt: SDJwt) => Promise<ProofCredential>;
4
- //# sourceMappingURL=proof_credential_factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof_credential_factory.d.ts","sourceRoot":"","sources":["../src/proof_credential_factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,KACX,OAAO,CAAC,eAAe,CAmCzB,CAAC"}
@@ -1,37 +0,0 @@
1
- import { ProofCredentialV1, } from "./proof_credentials.js";
2
- import { hasher } from "@owf/crypto";
3
- export const getProofCredential = async (sdjwt) => {
4
- const claims = (await sdjwt.getClaims(hasher));
5
- const vct = claims["vct"];
6
- if (vct === "https://credentials.notarize.com/ProofCredentialV1") {
7
- const ages = claims["age_equal_or_over"] !== undefined
8
- ? claims["age_equal_or_over"]
9
- : undefined;
10
- return new ProofCredentialV1({
11
- sdjwt,
12
- claims,
13
- ...(claims["given_name"] !== undefined && {
14
- given_name: claims["given_name"],
15
- }),
16
- ...(claims["family_name"] !== undefined && {
17
- family_name: claims["family_name"],
18
- }),
19
- ...(claims["birth_date"] !== undefined && {
20
- birth_date: claims["birth_date"],
21
- }),
22
- ...(ages?.["18"] !== undefined && {
23
- is_over_18: ages?.["18"],
24
- }),
25
- ...(ages?.["21"] !== undefined && {
26
- is_over_21: ages?.["21"],
27
- }),
28
- ...(ages?.["65"] !== undefined && {
29
- is_over_65: ages?.["65"],
30
- }),
31
- });
32
- }
33
- else {
34
- throw `unknown ProofCredential for vct: ${vct}`;
35
- }
36
- };
37
- //# sourceMappingURL=proof_credential_factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof_credential_factory.js","sourceRoot":"","sources":["../src/proof_credential_factory.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,KAAY,EACc,EAAE;IAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAA4B,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,GAAG,KAAK,oDAAoD,EAAE,CAAC;QACjE,MAAM,IAAI,GACR,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS;YACvC,CAAC,CAAE,MAAM,CAAC,mBAAmB,CAA6B;YAC1D,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,IAAI,iBAAiB,CAAC;YAC3B,KAAK;YACL,MAAM;YACN,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI;gBACxC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAW;aAC3C,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI;gBACzC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAW;aAC7C,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI;gBACxC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAW;aAC3C,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI;gBAChC,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAY;aACpC,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI;gBAChC,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAY;aACpC,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI;gBAChC,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAY;aACpC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,oCAAoC,GAAG,EAAE,CAAC;IAClD,CAAC;AACH,CAAC,CAAC"}
@@ -1,37 +0,0 @@
1
- import type { CredentialType, Format, ProofCredential } from "./types.ts";
2
- import type { SDJwt } from "@sd-jwt/core";
3
- export type { ProofCredential } from "./types.ts";
4
- type CredentialParams = {
5
- sdjwt: SDJwt;
6
- claims: Record<string, unknown>;
7
- };
8
- declare abstract class Credential implements ProofCredential {
9
- private readonly sdjwt;
10
- private readonly claims;
11
- protected constructor({ sdjwt, claims }: CredentialParams);
12
- abstract credentialType(): CredentialType;
13
- abstract format(): Format;
14
- getClaims(): Record<string, unknown>;
15
- getSDJWT(): SDJwt;
16
- }
17
- type ProofCredentialV1Params = {
18
- given_name?: string;
19
- family_name?: string;
20
- birth_date?: string;
21
- is_over_18?: boolean;
22
- is_over_21?: boolean;
23
- is_over_65?: boolean;
24
- } & CredentialParams;
25
- export declare class ProofCredentialV1 extends Credential {
26
- readonly givenName: string | undefined;
27
- readonly familyName: string | undefined;
28
- readonly isOver18: boolean | undefined;
29
- readonly isOver21: boolean | undefined;
30
- readonly isOver65: boolean | undefined;
31
- private readonly birth_date;
32
- constructor(params: ProofCredentialV1Params);
33
- credentialType(): CredentialType;
34
- format(): Format;
35
- get dateOfBirth(): Date | undefined;
36
- }
37
- //# sourceMappingURL=proof_credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof_credentials.d.ts","sourceRoot":"","sources":["../src/proof_credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,uBAAe,UAAW,YAAW,eAAe;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,SAAS,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB;IAKzD,QAAQ,CAAC,cAAc,IAAI,cAAc;IACzC,QAAQ,CAAC,MAAM,IAAI,MAAM;IAElB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC,QAAQ,IAAI,KAAK;CAGzB;AAED,KAAK,uBAAuB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,gBAAgB,CAAC;AAErB,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,SAAgB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,SAAgB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,SAAgB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,MAAM,EAAE,uBAAuB;IAUpC,cAAc,IAAI,cAAc;IAIhC,MAAM,IAAI,MAAM;IAIvB,IAAW,WAAW,IAAI,IAAI,GAAG,SAAS,CAIzC;CACF"}
@@ -1,43 +0,0 @@
1
- class Credential {
2
- sdjwt;
3
- claims;
4
- constructor({ sdjwt, claims }) {
5
- this.sdjwt = sdjwt;
6
- this.claims = claims;
7
- }
8
- getClaims() {
9
- return this.claims;
10
- }
11
- getSDJWT() {
12
- return this.sdjwt;
13
- }
14
- }
15
- export class ProofCredentialV1 extends Credential {
16
- givenName;
17
- familyName;
18
- isOver18;
19
- isOver21;
20
- isOver65;
21
- birth_date;
22
- constructor(params) {
23
- super(params);
24
- this.givenName = params.given_name;
25
- this.familyName = params.family_name;
26
- this.birth_date = params.birth_date;
27
- this.isOver18 = params.is_over_18;
28
- this.isOver21 = params.is_over_21;
29
- this.isOver65 = params.is_over_65;
30
- }
31
- credentialType() {
32
- return "ProofCredentialV1";
33
- }
34
- format() {
35
- return "dc+sd-jwt";
36
- }
37
- get dateOfBirth() {
38
- return this.birth_date !== undefined
39
- ? new Date(this.birth_date)
40
- : undefined;
41
- }
42
- }
43
- //# sourceMappingURL=proof_credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof_credentials.js","sourceRoot":"","sources":["../src/proof_credentials.ts"],"names":[],"mappings":"AAUA,MAAe,UAAU;IACN,KAAK,CAAQ;IACb,MAAM,CAA0B;IAEjD,YAAsB,EAAE,KAAK,EAAE,MAAM,EAAoB;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAKM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAWD,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IAC/B,SAAS,CAAqB;IAC9B,UAAU,CAAqB;IAC/B,QAAQ,CAAsB;IAC9B,QAAQ,CAAsB;IAC9B,QAAQ,CAAsB;IAC7B,UAAU,CAAqB;IAEhD,YAAY,MAA+B;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACpC,CAAC;IAEM,cAAc;QACnB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF"}
@@ -1,73 +0,0 @@
1
- export declare const TX_DATA_TYPE: {
2
- readonly WIRE_INSTRUCTIONS: "urn:proof:params:vc:transaction-data:wire-instructions:v1";
3
- readonly PAYMENT_MANDATE: "urn:proof:params:vc:transaction-data:payment-mandate:v1";
4
- readonly PAYMENT_ITEMIZED: "urn:proof:params:vc:transaction-data:payment-itemized:v1";
5
- readonly SESSION_DATA: "urn:proof:params:vc:transaction-data:session-data";
6
- };
7
- export type WireInstructionsPayload = {
8
- recipient: {
9
- institution_name: string;
10
- routing_number: string;
11
- account_number: string;
12
- individual_name?: string;
13
- website?: string;
14
- };
15
- source: {
16
- individual_name: string;
17
- account_number: string;
18
- routing_number: string;
19
- institution_name?: string;
20
- };
21
- amount: number;
22
- currency: string;
23
- memo?: string;
24
- };
25
- export type PaymentMandatePayload = {
26
- payment_instrument: {
27
- type: string;
28
- id: string;
29
- description?: string;
30
- };
31
- payee: {
32
- name: string;
33
- id?: string;
34
- website?: string;
35
- };
36
- prompt_summary: string;
37
- amount: number;
38
- currency: string;
39
- };
40
- export type PaymentItemizedItem = {
41
- quantity: number;
42
- unit_cost: number;
43
- label: string;
44
- };
45
- export type PaymentItemizedPayload = {
46
- currency: string;
47
- items: PaymentItemizedItem[];
48
- title?: string;
49
- description?: string;
50
- };
51
- export type SessionDataPayload = {
52
- ip_address: string;
53
- device_id?: string;
54
- };
55
- type Envelope<T extends string, P> = {
56
- type: T;
57
- credential_ids: readonly string[];
58
- payload: P;
59
- };
60
- export type WireInstructionsTransactionData = Envelope<typeof TX_DATA_TYPE.WIRE_INSTRUCTIONS, WireInstructionsPayload>;
61
- export type PaymentMandateTransactionData = Envelope<typeof TX_DATA_TYPE.PAYMENT_MANDATE, PaymentMandatePayload>;
62
- export type PaymentItemizedTransactionData = Envelope<typeof TX_DATA_TYPE.PAYMENT_ITEMIZED, PaymentItemizedPayload>;
63
- export type SessionDataTransactionData = Envelope<typeof TX_DATA_TYPE.SESSION_DATA, SessionDataPayload>;
64
- export type TransactionData = WireInstructionsTransactionData | PaymentMandateTransactionData | PaymentItemizedTransactionData | SessionDataTransactionData;
65
- export declare const transactionData: {
66
- readonly wireInstructions: (payload: WireInstructionsPayload) => WireInstructionsTransactionData;
67
- readonly paymentMandate: (payload: PaymentMandatePayload) => PaymentMandateTransactionData;
68
- readonly paymentItemized: (payload: PaymentItemizedPayload) => PaymentItemizedTransactionData;
69
- readonly sessionData: (payload: SessionDataPayload) => SessionDataTransactionData;
70
- };
71
- export declare function encodeTransactionData(data: TransactionData): string;
72
- export {};
73
- //# sourceMappingURL=transaction_data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction_data.d.ts","sourceRoot":"","sources":["../src/transaction_data.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;CAMf,CAAC;AAIX,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI;IACnC,IAAI,EAAE,CAAC,CAAC;IACR,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CACpD,OAAO,YAAY,CAAC,iBAAiB,EACrC,uBAAuB,CACxB,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAClD,OAAO,YAAY,CAAC,eAAe,EACnC,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CACnD,OAAO,YAAY,CAAC,gBAAgB,EACpC,sBAAsB,CACvB,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAC/C,OAAO,YAAY,CAAC,YAAY,EAChC,kBAAkB,CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,+BAA+B,GAC/B,6BAA6B,GAC7B,8BAA8B,GAC9B,0BAA0B,CAAC;AAE/B,eAAO,MAAM,eAAe;yCAEf,uBAAuB,KAC/B,+BAA+B;uCAQvB,qBAAqB,KAC7B,6BAA6B;wCAQrB,sBAAsB,KAC9B,8BAA8B;oCAOZ,kBAAkB,KAAG,0BAA0B;CAO5D,CAAC;AAYX,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEnE"}
@@ -1,51 +0,0 @@
1
- export const TX_DATA_TYPE = {
2
- WIRE_INSTRUCTIONS: "urn:proof:params:vc:transaction-data:wire-instructions:v1",
3
- PAYMENT_MANDATE: "urn:proof:params:vc:transaction-data:payment-mandate:v1",
4
- PAYMENT_ITEMIZED: "urn:proof:params:vc:transaction-data:payment-itemized:v1",
5
- SESSION_DATA: "urn:proof:params:vc:transaction-data:session-data",
6
- };
7
- const CREDENTIAL_IDS = ["proof_id_default"];
8
- export const transactionData = {
9
- wireInstructions(payload) {
10
- return {
11
- type: TX_DATA_TYPE.WIRE_INSTRUCTIONS,
12
- credential_ids: CREDENTIAL_IDS,
13
- payload,
14
- };
15
- },
16
- paymentMandate(payload) {
17
- return {
18
- type: TX_DATA_TYPE.PAYMENT_MANDATE,
19
- credential_ids: CREDENTIAL_IDS,
20
- payload,
21
- };
22
- },
23
- paymentItemized(payload) {
24
- return {
25
- type: TX_DATA_TYPE.PAYMENT_ITEMIZED,
26
- credential_ids: CREDENTIAL_IDS,
27
- payload,
28
- };
29
- },
30
- sessionData(payload) {
31
- return {
32
- type: TX_DATA_TYPE.SESSION_DATA,
33
- credential_ids: CREDENTIAL_IDS,
34
- payload,
35
- };
36
- },
37
- };
38
- function base64UrlEncode(s) {
39
- const bytes = new TextEncoder().encode(s);
40
- let binary = "";
41
- for (const b of bytes)
42
- binary += String.fromCharCode(b);
43
- return btoa(binary)
44
- .replace(/\+/g, "-")
45
- .replace(/\//g, "_")
46
- .replace(/=+$/, "");
47
- }
48
- export function encodeTransactionData(data) {
49
- return base64UrlEncode(JSON.stringify(data));
50
- }
51
- //# sourceMappingURL=transaction_data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction_data.js","sourceRoot":"","sources":["../src/transaction_data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EACf,2DAA2D;IAC7D,eAAe,EAAE,yDAAyD;IAC1E,gBAAgB,EAAE,0DAA0D;IAC5E,YAAY,EAAE,mDAAmD;CACzD,CAAC;AAEX,MAAM,cAAc,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAoFrD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB,CACd,OAAgC;QAEhC,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,iBAAiB;YACpC,cAAc,EAAE,cAAc;YAC9B,OAAO;SACR,CAAC;IACJ,CAAC;IACD,cAAc,CACZ,OAA8B;QAE9B,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,eAAe;YAClC,cAAc,EAAE,cAAc;YAC9B,OAAO;SACR,CAAC;IACJ,CAAC;IACD,eAAe,CACb,OAA+B;QAE/B,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,gBAAgB;YACnC,cAAc,EAAE,cAAc;YAC9B,OAAO;SACR,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,OAA2B;QACrC,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,YAAY;YAC/B,cAAc,EAAE,cAAc;YAC9B,OAAO;SACR,CAAC;IACJ,CAAC;CACO,CAAC;AAEX,SAAS,eAAe,CAAC,CAAS;IAChC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAqB;IACzD,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC"}
package/dist/utils.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { CredentialID } from "./types.ts";
2
- export declare const credentialIdAsType: (s: string) => CredentialID;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,KAAG,YAO9C,CAAC"}
package/dist/utils.js DELETED
@@ -1,10 +0,0 @@
1
- const CREDENTIAL_IDS = ["proof_id_default"];
2
- export const credentialIdAsType = (s) => {
3
- for (const credentialId of CREDENTIAL_IDS) {
4
- if (s === credentialId) {
5
- return credentialId;
6
- }
7
- }
8
- throw `invalid CredentialID: ${s}`;
9
- };
10
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAmB,CAAC,kBAAkB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAgB,EAAE;IAC5D,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IACD,MAAM,yBAAyB,CAAC,EAAE,CAAC;AACrC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { type BrowserInitParams, type AuthorizationRequestParams } from "./presentation/base_client.ts";
2
- export declare function init(params: BrowserInitParams): void;
3
- export declare function getAuthorizationRequestURL(params: AuthorizationRequestParams): Promise<string>;
4
- //# sourceMappingURL=vc_presentation.browser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vc_presentation.browser.d.ts","sourceRoot":"","sources":["../src/vc_presentation.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAChC,MAAM,+BAA+B,CAAC;AAIvC,wBAAgB,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAIpD;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC,CAIjB"}
@@ -1,13 +0,0 @@
1
- import { VCPresentationClient, } from "./presentation/base_client.js";
2
- let instance = null;
3
- export function init(params) {
4
- if (params.environment === "production" && instance)
5
- throw "VCPresentationClient already initialized (browser)";
6
- instance = new VCPresentationClient(params);
7
- }
8
- export async function getAuthorizationRequestURL(params) {
9
- if (!instance)
10
- throw "VCPresentationClient not initialized — call init() first (browser)";
11
- return instance.getAuthorizationRequestURL(params);
12
- }
13
- //# sourceMappingURL=vc_presentation.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vc_presentation.browser.js","sourceRoot":"","sources":["../src/vc_presentation.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,+BAA+B,CAAC;AAEvC,IAAI,QAAQ,GAAgC,IAAI,CAAC;AAEjD,MAAM,UAAU,IAAI,CAAC,MAAyB;IAC5C,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,IAAI,QAAQ;QACjD,MAAM,oDAAoD,CAAC;IAC7D,QAAQ,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAkC;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,oEAAoE,CAAC;IAC7E,OAAO,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { AuthorizationRequestParams } from "./presentation/base_client.ts";
2
- import { type NodeInitParams, type VerifyParams, type VerifyVPTokenParams } from "./presentation/node_client.ts";
3
- import type { ProofCredential, VPToken } from "./types.ts";
4
- export declare function init(params: NodeInitParams): void;
5
- export declare function getAuthorizationRequestURL(params: AuthorizationRequestParams): Promise<string>;
6
- export declare function verify(params: VerifyParams): Promise<ProofCredential>;
7
- export declare function verifyVPToken(params: VerifyVPTokenParams): Promise<VPToken>;
8
- //# sourceMappingURL=vc_presentation.node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vc_presentation.node.d.ts","sourceRoot":"","sources":["../src/vc_presentation.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI3D,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIjD;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAI3E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAIlB"}
@@ -1,23 +0,0 @@
1
- import { NodeVCPresentationClient, } from "./presentation/node_client.js";
2
- let instance = null;
3
- export function init(params) {
4
- if (params.environment === "production" && instance)
5
- throw "NodeVCPresentationClient already initialized (node)";
6
- instance = new NodeVCPresentationClient(params);
7
- }
8
- export async function getAuthorizationRequestURL(params) {
9
- if (!instance)
10
- throw "NodeVCPresentationClient not initialized — call init() first (node)";
11
- return instance.getAuthorizationRequestURL(params);
12
- }
13
- export async function verify(params) {
14
- if (!instance)
15
- throw "NodeVCPresentationClient not initialized — call init() first (node)";
16
- return instance.verify(params);
17
- }
18
- export async function verifyVPToken(params) {
19
- if (!instance)
20
- throw "NodeVCPresentationClient not initialized — call init() first (node)";
21
- return instance.verifyVPToken(params);
22
- }
23
- //# sourceMappingURL=vc_presentation.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vc_presentation.node.js","sourceRoot":"","sources":["../src/vc_presentation.node.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,GAIzB,MAAM,+BAA+B,CAAC;AAGvC,IAAI,QAAQ,GAAoC,IAAI,CAAC;AAErD,MAAM,UAAU,IAAI,CAAC,MAAsB;IACzC,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,IAAI,QAAQ;QACjD,MAAM,qDAAqD,CAAC;IAC9D,QAAQ,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAkC;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,qEAAqE,CAAC;IAC9E,OAAO,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB;IAC/C,IAAI,CAAC,QAAQ;QACX,MAAM,qEAAqE,CAAC;IAC9E,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B;IAE3B,IAAI,CAAC,QAAQ;QACX,MAAM,qEAAqE,CAAC;IAC9E,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}