@pagopa/io-react-native-wallet 2.2.0 → 2.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.
- package/README.md +4 -3
- package/lib/commonjs/credential/index.js +3 -1
- package/lib/commonjs/credential/index.js.map +1 -1
- package/lib/commonjs/credential/offer/01-start-flow.js +75 -0
- package/lib/commonjs/credential/offer/01-start-flow.js.map +1 -0
- package/lib/commonjs/credential/offer/02-fetch-credential-offer.js +45 -0
- package/lib/commonjs/credential/offer/02-fetch-credential-offer.js.map +1 -0
- package/lib/commonjs/credential/offer/README.md +174 -0
- package/lib/commonjs/credential/offer/errors.js +22 -0
- package/lib/commonjs/credential/offer/errors.js.map +1 -0
- package/lib/commonjs/credential/offer/index.js +25 -0
- package/lib/commonjs/credential/offer/index.js.map +1 -0
- package/lib/commonjs/credential/offer/types.js +51 -0
- package/lib/commonjs/credential/offer/types.js.map +1 -0
- package/lib/commonjs/credential/presentation/01-start-flow.js +1 -1
- package/lib/commonjs/credentials-catalogue/README.md +15 -0
- package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js +42 -0
- package/lib/commonjs/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
- package/lib/commonjs/credentials-catalogue/index.js +13 -0
- package/lib/commonjs/credentials-catalogue/index.js.map +1 -0
- package/lib/commonjs/credentials-catalogue/types.js +99 -0
- package/lib/commonjs/credentials-catalogue/types.js.map +1 -0
- package/lib/commonjs/index.js +3 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/zod.js +28 -0
- package/lib/commonjs/utils/zod.js.map +1 -0
- package/lib/module/credential/index.js +2 -1
- package/lib/module/credential/index.js.map +1 -1
- package/lib/module/credential/offer/01-start-flow.js +66 -0
- package/lib/module/credential/offer/01-start-flow.js.map +1 -0
- package/lib/module/credential/offer/02-fetch-credential-offer.js +38 -0
- package/lib/module/credential/offer/02-fetch-credential-offer.js.map +1 -0
- package/lib/module/credential/offer/README.md +174 -0
- package/lib/module/credential/offer/errors.js +14 -0
- package/lib/module/credential/offer/errors.js.map +1 -0
- package/lib/module/credential/offer/index.js +5 -0
- package/lib/module/credential/offer/index.js.map +1 -0
- package/lib/module/credential/offer/types.js +41 -0
- package/lib/module/credential/offer/types.js.map +1 -0
- package/lib/module/credential/presentation/01-start-flow.js +1 -1
- package/lib/module/credentials-catalogue/README.md +15 -0
- package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js +35 -0
- package/lib/module/credentials-catalogue/fetch-and-parse-catalogue.js.map +1 -0
- package/lib/module/credentials-catalogue/index.js +2 -0
- package/lib/module/credentials-catalogue/index.js.map +1 -0
- package/lib/module/credentials-catalogue/types.js +89 -0
- package/lib/module/credentials-catalogue/types.js.map +1 -0
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/zod.js +20 -0
- package/lib/module/utils/zod.js.map +1 -0
- package/lib/typescript/credential/index.d.ts +2 -1
- package/lib/typescript/credential/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/01-start-flow.d.ts +1 -1
- package/lib/typescript/credential/offer/01-start-flow.d.ts +172 -0
- package/lib/typescript/credential/offer/01-start-flow.d.ts.map +1 -0
- package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts +20 -0
- package/lib/typescript/credential/offer/02-fetch-credential-offer.d.ts.map +1 -0
- package/lib/typescript/credential/offer/errors.d.ts +10 -0
- package/lib/typescript/credential/offer/errors.d.ts.map +1 -0
- package/lib/typescript/credential/offer/index.d.ts +7 -0
- package/lib/typescript/credential/offer/index.d.ts.map +1 -0
- package/lib/typescript/credential/offer/types.d.ts +264 -0
- package/lib/typescript/credential/offer/types.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/01-start-flow.d.ts +1 -1
- package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts +15 -0
- package/lib/typescript/credentials-catalogue/fetch-and-parse-catalogue.d.ts.map +1 -0
- package/lib/typescript/credentials-catalogue/index.d.ts +3 -0
- package/lib/typescript/credentials-catalogue/index.d.ts.map +1 -0
- package/lib/typescript/credentials-catalogue/types.d.ts +844 -0
- package/lib/typescript/credentials-catalogue/types.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/zod.d.ts +15 -0
- package/lib/typescript/utils/zod.d.ts.map +1 -0
- package/package.json +21 -2
- package/src/credential/index.ts +2 -1
- package/src/credential/issuance/01-start-flow.ts +1 -1
- package/src/credential/offer/01-start-flow.ts +89 -0
- package/src/credential/offer/02-fetch-credential-offer.ts +54 -0
- package/src/credential/offer/README.md +174 -0
- package/src/credential/offer/errors.ts +17 -0
- package/src/credential/offer/index.ts +16 -0
- package/src/credential/offer/types.ts +59 -0
- package/src/credential/presentation/01-start-flow.ts +1 -1
- package/src/credentials-catalogue/README.md +15 -0
- package/src/credentials-catalogue/fetch-and-parse-catalogue.ts +54 -0
- package/src/credentials-catalogue/index.ts +2 -0
- package/src/credentials-catalogue/types.ts +97 -0
- package/src/index.ts +2 -0
- package/src/utils/zod.ts +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fetchAndParseCatalogue"],"sourceRoot":"../../../src","sources":["credentials-catalogue/index.ts"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,6BAA6B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { UnixTime } from "../sd-jwt/types";
|
|
3
|
+
const CredentialPurpose = z.object({
|
|
4
|
+
id: z.string(),
|
|
5
|
+
description: z.string(),
|
|
6
|
+
category: z.string(),
|
|
7
|
+
subcategory: z.string(),
|
|
8
|
+
claims_required: z.array(z.string()),
|
|
9
|
+
claim_recommended: z.array(z.string())
|
|
10
|
+
});
|
|
11
|
+
const CredentialIssuer = z.object({
|
|
12
|
+
id: z.string(),
|
|
13
|
+
organization_name: z.string(),
|
|
14
|
+
organization_code: z.string(),
|
|
15
|
+
organization_country: z.string(),
|
|
16
|
+
contacts: z.array(z.string()).optional(),
|
|
17
|
+
homepage_uri: z.string().optional(),
|
|
18
|
+
logo_uri: z.string().optional(),
|
|
19
|
+
policy_uri: z.string().optional(),
|
|
20
|
+
tos_uri: z.string().optional()
|
|
21
|
+
});
|
|
22
|
+
const AuthenticSource = z.object({
|
|
23
|
+
id: z.string(),
|
|
24
|
+
organization_name: z.string(),
|
|
25
|
+
organization_code: z.string(),
|
|
26
|
+
organization_country: z.string(),
|
|
27
|
+
source_type: z.enum(["public", "private"]),
|
|
28
|
+
contacts: z.array(z.string()).optional(),
|
|
29
|
+
homepage_uri: z.string().optional(),
|
|
30
|
+
logo_uri: z.string().optional(),
|
|
31
|
+
user_information: z.string().optional()
|
|
32
|
+
});
|
|
33
|
+
const CredentialFormat = z.object({
|
|
34
|
+
configuration_id: z.string(),
|
|
35
|
+
format: z.enum(["dc+sd-jwt", "mso_mdoc"]),
|
|
36
|
+
vct: z.string().url().optional(),
|
|
37
|
+
docType: z.string().optional(),
|
|
38
|
+
schema_uri: z.string().url().optional(),
|
|
39
|
+
"schema_uri#integrity": z.string().optional()
|
|
40
|
+
});
|
|
41
|
+
const Claim = z.object({
|
|
42
|
+
name: z.string(),
|
|
43
|
+
taxonomy_ref: z.string(),
|
|
44
|
+
display_name: z.string()
|
|
45
|
+
});
|
|
46
|
+
export const DigitalCredential = z.object({
|
|
47
|
+
version: z.string(),
|
|
48
|
+
credential_type: z.string(),
|
|
49
|
+
legal_type: z.string(),
|
|
50
|
+
name: z.string(),
|
|
51
|
+
description: z.string(),
|
|
52
|
+
validity_info: z.object({
|
|
53
|
+
max_validity_days: z.number(),
|
|
54
|
+
status_methods: z.array(z.string()),
|
|
55
|
+
allowed_states: z.array(z.string())
|
|
56
|
+
}),
|
|
57
|
+
authentication: z.object({
|
|
58
|
+
user_auth_required: z.boolean(),
|
|
59
|
+
min_loa: z.string(),
|
|
60
|
+
supported_eid_schemes: z.array(z.string())
|
|
61
|
+
}),
|
|
62
|
+
purposes: z.array(CredentialPurpose),
|
|
63
|
+
issuers: z.array(CredentialIssuer),
|
|
64
|
+
authentic_sources: z.array(AuthenticSource),
|
|
65
|
+
formats: z.array(CredentialFormat),
|
|
66
|
+
claims: z.array(Claim)
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The Digital Credentials Catalogue published by the Trust Anchor
|
|
71
|
+
*
|
|
72
|
+
* @version 1.1.0
|
|
73
|
+
* @see https://italia.github.io/eid-wallet-it-docs/releases/1.1.0/en/registry-catalogue.html
|
|
74
|
+
*/
|
|
75
|
+
export const DigitalCredentialsCatalogue = z.object({
|
|
76
|
+
header: z.object({
|
|
77
|
+
typ: z.string(),
|
|
78
|
+
alg: z.string(),
|
|
79
|
+
kid: z.string()
|
|
80
|
+
}),
|
|
81
|
+
payload: z.object({
|
|
82
|
+
catalog_version: z.string(),
|
|
83
|
+
taxonomy_uri: z.string().url(),
|
|
84
|
+
credentials: z.array(DigitalCredential),
|
|
85
|
+
iat: UnixTime,
|
|
86
|
+
exp: UnixTime
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["z","UnixTime","CredentialPurpose","object","id","string","description","category","subcategory","claims_required","array","claim_recommended","CredentialIssuer","organization_name","organization_code","organization_country","contacts","optional","homepage_uri","logo_uri","policy_uri","tos_uri","AuthenticSource","source_type","enum","user_information","CredentialFormat","configuration_id","format","vct","url","docType","schema_uri","Claim","name","taxonomy_ref","display_name","DigitalCredential","version","credential_type","legal_type","validity_info","max_validity_days","number","status_methods","allowed_states","authentication","user_auth_required","boolean","min_loa","supported_eid_schemes","purposes","issuers","authentic_sources","formats","claims","DigitalCredentialsCatalogue","header","typ","alg","kid","payload","catalog_version","taxonomy_uri","credentials","iat","exp"],"sourceRoot":"../../../src","sources":["credentials-catalogue/types.ts"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { fixBase64EncodingOnKey } from "./utils/jwk";
|
|
|
3
3
|
// https://github.com/facebook/react-native/issues/24428
|
|
4
4
|
import "react-native-url-polyfill/auto";
|
|
5
5
|
import * as Credential from "./credential";
|
|
6
|
+
import * as CredentialsCatalogue from "./credentials-catalogue";
|
|
6
7
|
import * as PID from "./pid";
|
|
7
8
|
import * as SdJwt from "./sd-jwt";
|
|
8
9
|
import * as Mdoc from "./mdoc";
|
|
@@ -13,5 +14,5 @@ import * as WalletInstance from "./wallet-instance";
|
|
|
13
14
|
import * as Logging from "./utils/logging";
|
|
14
15
|
import { AuthorizationDetail, AuthorizationDetails } from "./utils/par";
|
|
15
16
|
import { createCryptoContextFor } from "./utils/crypto";
|
|
16
|
-
export { SdJwt, Mdoc, PID, Credential, WalletInstanceAttestation, WalletInstance, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, fixBase64EncodingOnKey, Logging };
|
|
17
|
+
export { SdJwt, Mdoc, PID, Credential, CredentialsCatalogue, WalletInstanceAttestation, WalletInstance, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, fixBase64EncodingOnKey, Logging };
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fixBase64EncodingOnKey","Credential","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","AuthorizationDetail","AuthorizationDetails","createCryptoContextFor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AACA,SAASA,sBAAsB,QAAQ,aAAa;AACpD;AACA;AACA,OAAO,gCAAgC;AAEvC,OAAO,KAAKC,UAAU,MAAM,cAAc;AAC1C,OAAO,KAAKC,GAAG,MAAM,OAAO;AAC5B,OAAO,KAAKC,KAAK,MAAM,UAAU;AACjC,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,MAAM,MAAM,gBAAgB;AACxC,OAAO,KAAKC,yBAAyB,MAAM,+BAA+B;AAC1E,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,cAAc,MAAM,mBAAmB;AACnD,OAAO,KAAKC,OAAO,MAAM,iBAAiB;AAC1C,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,aAAa;AACvE,SAASC,sBAAsB,QAAQ,gBAAgB;AAGvD,SACET,KAAK,EACLC,IAAI,EACJF,GAAG,
|
|
1
|
+
{"version":3,"names":["fixBase64EncodingOnKey","Credential","CredentialsCatalogue","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","AuthorizationDetail","AuthorizationDetails","createCryptoContextFor"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AACA,SAASA,sBAAsB,QAAQ,aAAa;AACpD;AACA;AACA,OAAO,gCAAgC;AAEvC,OAAO,KAAKC,UAAU,MAAM,cAAc;AAC1C,OAAO,KAAKC,oBAAoB,MAAM,yBAAyB;AAC/D,OAAO,KAAKC,GAAG,MAAM,OAAO;AAC5B,OAAO,KAAKC,KAAK,MAAM,UAAU;AACjC,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,MAAM,MAAM,gBAAgB;AACxC,OAAO,KAAKC,yBAAyB,MAAM,+BAA+B;AAC1E,OAAO,KAAKC,KAAK,MAAM,SAAS;AAChC,OAAO,KAAKC,cAAc,MAAM,mBAAmB;AACnD,OAAO,KAAKC,OAAO,MAAM,iBAAiB;AAC1C,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,aAAa;AACvE,SAASC,sBAAsB,QAAQ,gBAAgB;AAGvD,SACET,KAAK,EACLC,IAAI,EACJF,GAAG,EACHF,UAAU,EACVC,oBAAoB,EACpBK,yBAAyB,EACzBE,cAAc,EACdH,MAAM,EACNE,KAAK,EACLK,sBAAsB,EACtBF,mBAAmB,EACnBC,oBAAoB,EACpBZ,sBAAsB,EACtBU,OAAO"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @see https://github.com/JacobWeisenburger/zod_utilz/blob/main/src/stringToJSON.ts
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
|
|
7
|
+
const jsonSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]));
|
|
8
|
+
export const json = () => jsonSchema;
|
|
9
|
+
export const stringToJSONSchema = z.string().transform((str, ctx) => {
|
|
10
|
+
try {
|
|
11
|
+
return JSON.parse(str);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
ctx.addIssue({
|
|
14
|
+
code: "custom",
|
|
15
|
+
message: "Invalid JSON"
|
|
16
|
+
});
|
|
17
|
+
return z.NEVER;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=zod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["z","literalSchema","union","string","number","boolean","null","jsonSchema","lazy","array","record","json","stringToJSONSchema","transform","str","ctx","JSON","parse","e","addIssue","code","message","NEVER"],"sourceRoot":"../../../src","sources":["utils/zod.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,aAAa,GAAGD,CAAC,CAACE,KAAK,CAAC,CAACF,CAAC,CAACG,MAAM,CAAC,CAAC,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,EAAEJ,CAAC,CAACK,OAAO,CAAC,CAAC,EAAEL,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;AAM9E,MAAMC,UAA2B,GAAGP,CAAC,CAACQ,IAAI,CAAC,MACzCR,CAAC,CAACE,KAAK,CAAC,CAACD,aAAa,EAAED,CAAC,CAACS,KAAK,CAACF,UAAU,CAAC,EAAEP,CAAC,CAACU,MAAM,CAACH,UAAU,CAAC,CAAC,CACpE,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAMJ,UAAU;AAEpC,OAAO,MAAMK,kBAAkB,GAAGZ,CAAC,CAChCG,MAAM,CAAC,CAAC,CACRU,SAAS,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAuC;EACzD,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;EACxB,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVH,GAAG,CAACI,QAAQ,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,OAAO,EAAE;IAAe,CAAC,CAAC;IACzD,OAAOrB,CAAC,CAACsB,KAAK;EAChB;AACF,CAAC,CAAC"}
|
|
@@ -2,5 +2,6 @@ import * as Issuance from "./issuance";
|
|
|
2
2
|
import * as Presentation from "./presentation";
|
|
3
3
|
import * as Status from "./status";
|
|
4
4
|
import * as Trustmark from "./trustmark";
|
|
5
|
-
|
|
5
|
+
import * as Offer from "./offer";
|
|
6
|
+
export { Issuance, Presentation, Status, Trustmark, Offer };
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WARNING: This is the first function to be called in the issuing flow. The next function to be called is {@link evaluateIssuerTrust}.
|
|
3
3
|
* The beginning of the issuing flow.
|
|
4
|
-
* To be implemented
|
|
4
|
+
* To be implemented according to the user touchpoint
|
|
5
5
|
*
|
|
6
6
|
* @returns The configuration ID of the Credential to be issued and the url of the Issuer
|
|
7
7
|
*/
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
declare const CredentialOfferParams: z.ZodUnion<[z.ZodObject<{
|
|
3
|
+
credential_offer: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | {
|
|
4
|
+
[key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
|
|
5
|
+
} | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null, string>, z.ZodObject<{
|
|
6
|
+
credential_issuer: z.ZodString;
|
|
7
|
+
credential_configuration_ids: z.ZodArray<z.ZodString, "many">;
|
|
8
|
+
grants: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
authorization_code: z.ZodOptional<z.ZodObject<{
|
|
10
|
+
issuer_state: z.ZodOptional<z.ZodString>;
|
|
11
|
+
authorization_server: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
issuer_state?: string | undefined;
|
|
14
|
+
authorization_server?: string | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
issuer_state?: string | undefined;
|
|
17
|
+
authorization_server?: string | undefined;
|
|
18
|
+
}>>;
|
|
19
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code": z.ZodOptional<z.ZodObject<{
|
|
20
|
+
"pre-authorized_code": z.ZodString;
|
|
21
|
+
tx_code: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
input_mode: z.ZodOptional<z.ZodEnum<["numeric", "text"]>>;
|
|
23
|
+
length: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
description: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
27
|
+
length?: number | undefined;
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
}, {
|
|
30
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
31
|
+
length?: number | undefined;
|
|
32
|
+
description?: string | undefined;
|
|
33
|
+
}>>;
|
|
34
|
+
authorization_server: z.ZodOptional<z.ZodString>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
"pre-authorized_code": string;
|
|
37
|
+
tx_code?: {
|
|
38
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
39
|
+
length?: number | undefined;
|
|
40
|
+
description?: string | undefined;
|
|
41
|
+
} | undefined;
|
|
42
|
+
authorization_server?: string | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
"pre-authorized_code": string;
|
|
45
|
+
tx_code?: {
|
|
46
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
47
|
+
length?: number | undefined;
|
|
48
|
+
description?: string | undefined;
|
|
49
|
+
} | undefined;
|
|
50
|
+
authorization_server?: string | undefined;
|
|
51
|
+
}>>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
authorization_code?: {
|
|
54
|
+
issuer_state?: string | undefined;
|
|
55
|
+
authorization_server?: string | undefined;
|
|
56
|
+
} | undefined;
|
|
57
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
|
|
58
|
+
"pre-authorized_code": string;
|
|
59
|
+
tx_code?: {
|
|
60
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
61
|
+
length?: number | undefined;
|
|
62
|
+
description?: string | undefined;
|
|
63
|
+
} | undefined;
|
|
64
|
+
authorization_server?: string | undefined;
|
|
65
|
+
} | undefined;
|
|
66
|
+
}, {
|
|
67
|
+
authorization_code?: {
|
|
68
|
+
issuer_state?: string | undefined;
|
|
69
|
+
authorization_server?: string | undefined;
|
|
70
|
+
} | undefined;
|
|
71
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
|
|
72
|
+
"pre-authorized_code": string;
|
|
73
|
+
tx_code?: {
|
|
74
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
75
|
+
length?: number | undefined;
|
|
76
|
+
description?: string | undefined;
|
|
77
|
+
} | undefined;
|
|
78
|
+
authorization_server?: string | undefined;
|
|
79
|
+
} | undefined;
|
|
80
|
+
}>>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
credential_issuer: string;
|
|
83
|
+
credential_configuration_ids: string[];
|
|
84
|
+
grants?: {
|
|
85
|
+
authorization_code?: {
|
|
86
|
+
issuer_state?: string | undefined;
|
|
87
|
+
authorization_server?: string | undefined;
|
|
88
|
+
} | undefined;
|
|
89
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
|
|
90
|
+
"pre-authorized_code": string;
|
|
91
|
+
tx_code?: {
|
|
92
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
93
|
+
length?: number | undefined;
|
|
94
|
+
description?: string | undefined;
|
|
95
|
+
} | undefined;
|
|
96
|
+
authorization_server?: string | undefined;
|
|
97
|
+
} | undefined;
|
|
98
|
+
} | undefined;
|
|
99
|
+
}, {
|
|
100
|
+
credential_issuer: string;
|
|
101
|
+
credential_configuration_ids: string[];
|
|
102
|
+
grants?: {
|
|
103
|
+
authorization_code?: {
|
|
104
|
+
issuer_state?: string | undefined;
|
|
105
|
+
authorization_server?: string | undefined;
|
|
106
|
+
} | undefined;
|
|
107
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
|
|
108
|
+
"pre-authorized_code": string;
|
|
109
|
+
tx_code?: {
|
|
110
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
111
|
+
length?: number | undefined;
|
|
112
|
+
description?: string | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
authorization_server?: string | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
} | undefined;
|
|
117
|
+
}>>;
|
|
118
|
+
credential_offer_uri: z.ZodUndefined;
|
|
119
|
+
}, "strip", z.ZodTypeAny, {
|
|
120
|
+
credential_offer: {
|
|
121
|
+
credential_issuer: string;
|
|
122
|
+
credential_configuration_ids: string[];
|
|
123
|
+
grants?: {
|
|
124
|
+
authorization_code?: {
|
|
125
|
+
issuer_state?: string | undefined;
|
|
126
|
+
authorization_server?: string | undefined;
|
|
127
|
+
} | undefined;
|
|
128
|
+
"urn:ietf:params:oauth:grant-type:pre-authorized_code"?: {
|
|
129
|
+
"pre-authorized_code": string;
|
|
130
|
+
tx_code?: {
|
|
131
|
+
input_mode?: "numeric" | "text" | undefined;
|
|
132
|
+
length?: number | undefined;
|
|
133
|
+
description?: string | undefined;
|
|
134
|
+
} | undefined;
|
|
135
|
+
authorization_server?: string | undefined;
|
|
136
|
+
} | undefined;
|
|
137
|
+
} | undefined;
|
|
138
|
+
};
|
|
139
|
+
credential_offer_uri?: undefined;
|
|
140
|
+
}, {
|
|
141
|
+
credential_offer: string;
|
|
142
|
+
credential_offer_uri?: undefined;
|
|
143
|
+
}>, z.ZodObject<{
|
|
144
|
+
credential_offer: z.ZodUndefined;
|
|
145
|
+
credential_offer_uri: z.ZodString;
|
|
146
|
+
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
credential_offer_uri: string;
|
|
148
|
+
credential_offer?: undefined;
|
|
149
|
+
}, {
|
|
150
|
+
credential_offer_uri: string;
|
|
151
|
+
credential_offer?: undefined;
|
|
152
|
+
}>]>;
|
|
153
|
+
type CredentialOfferParams = z.infer<typeof CredentialOfferParams>;
|
|
154
|
+
/**
|
|
155
|
+
* The beginning of the credential offer flow.
|
|
156
|
+
* To be implemented according to the user touchpoint
|
|
157
|
+
*
|
|
158
|
+
* @param params Credential offer encoded url
|
|
159
|
+
* @returns Object containing the credential offer by reference or by value
|
|
160
|
+
*/
|
|
161
|
+
export type StartFlow = (encodedUrl: string) => CredentialOfferParams;
|
|
162
|
+
/**
|
|
163
|
+
* Start a credential offer flow by validating and parse an encoded url
|
|
164
|
+
* extracted from a QR code or a deep link.
|
|
165
|
+
*
|
|
166
|
+
* @param params The encoded url to be validated and parsed
|
|
167
|
+
* @returns Object containing the credential offer by reference or by value
|
|
168
|
+
* @throws If the provided encoded url is not valid
|
|
169
|
+
*/
|
|
170
|
+
export declare const startFlowFromQR: StartFlow;
|
|
171
|
+
export {};
|
|
172
|
+
//# sourceMappingURL=01-start-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"01-start-flow.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/01-start-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASzB,CAAC;AACH,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,qBAAqB,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAiD7B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CredentialOffer } from "./types";
|
|
2
|
+
export type GetCredentialOffer = (credentialOfferUri: string, context: {
|
|
3
|
+
appFetch?: GlobalFetch["fetch"];
|
|
4
|
+
}) => Promise<CredentialOffer>;
|
|
5
|
+
/**
|
|
6
|
+
* Fetches and validates a credential offer from a given URI.
|
|
7
|
+
*
|
|
8
|
+
* This function performs an HTTP GET request to the specified `credentialOfferUri`,
|
|
9
|
+
* expecting a JSON response that matches the `CredentialOfferSchema`. If the response
|
|
10
|
+
* is invalid or does not conform to the schema, an error is logged and an
|
|
11
|
+
* `InvalidCredentialOfferError` is thrown.
|
|
12
|
+
*
|
|
13
|
+
* @param credentialOfferUri - The URI from which to fetch the credential offer.
|
|
14
|
+
* @param context - Optional context object that may provide a custom `appFetch` implementation.
|
|
15
|
+
* @returns The validated credential offer data.
|
|
16
|
+
* @throws {IssuerResponseError} If the HTTP response status is not 200.
|
|
17
|
+
* @throws {InvalidCredentialOfferError} If the response does not match the expected schema.
|
|
18
|
+
*/
|
|
19
|
+
export declare const fetchCredentialOffer: GetCredentialOffer;
|
|
20
|
+
//# sourceMappingURL=02-fetch-credential-offer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"02-fetch-credential-offer.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/02-fetch-credential-offer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,CAC/B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAyBlC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IoWalletError } from "../../utils/errors";
|
|
2
|
+
export declare class InvalidCredentialOfferError extends IoWalletError {
|
|
3
|
+
code: string;
|
|
4
|
+
constructor(message?: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class InvalidQRCodeError extends IoWalletError {
|
|
7
|
+
code: string;
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,2BAA4B,SAAQ,aAAa;IAC5D,IAAI,SAAkC;gBAE1B,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,IAAI,SAAyB;gBAEjB,OAAO,CAAC,EAAE,MAAM;CAG7B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { startFlowFromQR, type StartFlow } from "./01-start-flow";
|
|
2
|
+
import { fetchCredentialOffer, type GetCredentialOffer } from "./02-fetch-credential-offer";
|
|
3
|
+
import * as Errors from "./errors";
|
|
4
|
+
export type { CredentialOffer, Grants, AuthorizationCodeGrant, PreAuthorizedCodeGrant, TransactionCode, } from "./types";
|
|
5
|
+
export { Errors, fetchCredentialOffer, startFlowFromQR };
|
|
6
|
+
export type { GetCredentialOffer, StartFlow };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,YAAY,EACV,eAAe,EACf,MAAM,EACN,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC"}
|