@pagopa/io-react-native-wallet 0.24.0 → 0.25.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/lib/commonjs/client/generated/wallet-provider.js +39 -16
- package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
- package/lib/commonjs/client/index.js +25 -10
- package/lib/commonjs/client/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js +1 -1
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +21 -14
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/05-authorize-access.js +5 -2
- package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +26 -17
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/README.md +8 -14
- package/lib/commonjs/credential/issuance/errors.js +52 -0
- package/lib/commonjs/credential/issuance/errors.js.map +1 -0
- package/lib/commonjs/credential/issuance/index.js +7 -2
- package/lib/commonjs/credential/issuance/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/types.js +1 -5
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/01-start-flow.js +1 -1
- package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
- package/lib/commonjs/credential/presentation/03-get-request-object.js +2 -2
- package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/04-send-authorization-response.js +2 -2
- package/lib/commonjs/credential/presentation/04-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/errors.js +49 -0
- package/lib/commonjs/credential/presentation/errors.js.map +1 -0
- package/lib/commonjs/credential/presentation/index.js +5 -0
- package/lib/commonjs/credential/presentation/index.js.map +1 -1
- package/lib/commonjs/credential/status/02-status-attestation.js +8 -6
- package/lib/commonjs/credential/status/02-status-attestation.js.map +1 -1
- package/lib/commonjs/credential/status/README.md +5 -2
- package/lib/commonjs/credential/status/types.js +1 -14
- package/lib/commonjs/credential/status/types.js.map +1 -1
- package/lib/commonjs/credential/trustmark/get-credential-trustmark.js +14 -5
- package/lib/commonjs/credential/trustmark/get-credential-trustmark.js.map +1 -1
- package/lib/commonjs/sd-jwt/errors.js +40 -0
- package/lib/commonjs/sd-jwt/errors.js.map +1 -0
- package/lib/commonjs/sd-jwt/index.js +8 -4
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/verifier.js +5 -1
- package/lib/commonjs/sd-jwt/verifier.js.map +1 -1
- package/lib/commonjs/trust/index.js +2 -2
- package/lib/commonjs/trust/index.js.map +1 -1
- package/lib/commonjs/utils/decoder.js +3 -1
- package/lib/commonjs/utils/decoder.js.map +1 -1
- package/lib/commonjs/utils/error-codes.js +51 -0
- package/lib/commonjs/utils/error-codes.js.map +1 -0
- package/lib/commonjs/utils/errors.js +119 -463
- package/lib/commonjs/utils/errors.js.map +1 -1
- package/lib/commonjs/utils/misc.js +21 -14
- package/lib/commonjs/utils/misc.js.map +1 -1
- package/lib/commonjs/utils/par.js +2 -1
- package/lib/commonjs/utils/par.js.map +1 -1
- package/lib/commonjs/wallet-instance/README.md +26 -5
- package/lib/commonjs/wallet-instance/index.js +33 -7
- package/lib/commonjs/wallet-instance/index.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/README.md +8 -2
- package/lib/commonjs/wallet-instance-attestation/issuing.js +13 -10
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/client/generated/wallet-provider.js +31 -11
- package/lib/module/client/generated/wallet-provider.js.map +1 -1
- package/lib/module/client/index.js +22 -8
- package/lib/module/client/index.js.map +1 -1
- package/lib/module/credential/issuance/03-start-user-authorization.js +1 -1
- package/lib/module/credential/issuance/04-complete-user-authorization.js +16 -9
- package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/05-authorize-access.js +7 -4
- package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +29 -20
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/README.md +8 -14
- package/lib/module/credential/issuance/errors.js +44 -0
- package/lib/module/credential/issuance/errors.js.map +1 -0
- package/lib/module/credential/issuance/index.js +3 -2
- package/lib/module/credential/issuance/index.js.map +1 -1
- package/lib/module/credential/issuance/types.js +0 -3
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/credential/presentation/01-start-flow.js +1 -1
- package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
- package/lib/module/credential/presentation/03-get-request-object.js +3 -3
- package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/module/credential/presentation/04-send-authorization-response.js +3 -3
- package/lib/module/credential/presentation/04-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/errors.js +42 -0
- package/lib/module/credential/presentation/errors.js.map +1 -0
- package/lib/module/credential/presentation/index.js +2 -1
- package/lib/module/credential/presentation/index.js.map +1 -1
- package/lib/module/credential/status/02-status-attestation.js +11 -9
- package/lib/module/credential/status/02-status-attestation.js.map +1 -1
- package/lib/module/credential/status/README.md +5 -2
- package/lib/module/credential/status/types.js +0 -12
- package/lib/module/credential/status/types.js.map +1 -1
- package/lib/module/credential/trustmark/get-credential-trustmark.js +14 -5
- package/lib/module/credential/trustmark/get-credential-trustmark.js.map +1 -1
- package/lib/module/sd-jwt/errors.js +32 -0
- package/lib/module/sd-jwt/errors.js.map +1 -0
- package/lib/module/sd-jwt/index.js +5 -5
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/verifier.js +5 -1
- package/lib/module/sd-jwt/verifier.js.map +1 -1
- package/lib/module/trust/index.js +3 -3
- package/lib/module/trust/index.js.map +1 -1
- package/lib/module/utils/decoder.js +3 -1
- package/lib/module/utils/decoder.js.map +1 -1
- package/lib/module/utils/error-codes.js +43 -0
- package/lib/module/utils/error-codes.js.map +1 -0
- package/lib/module/utils/errors.js +98 -438
- package/lib/module/utils/errors.js.map +1 -1
- package/lib/module/utils/misc.js +18 -11
- package/lib/module/utils/misc.js.map +1 -1
- package/lib/module/utils/par.js +3 -2
- package/lib/module/utils/par.js.map +1 -1
- package/lib/module/wallet-instance/README.md +26 -5
- package/lib/module/wallet-instance/index.js +32 -7
- package/lib/module/wallet-instance/index.js.map +1 -1
- package/lib/module/wallet-instance-attestation/README.md +8 -2
- package/lib/module/wallet-instance-attestation/issuing.js +15 -12
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/typescript/client/generated/wallet-provider.d.ts +138 -27
- package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
- package/lib/typescript/client/index.d.ts +7 -1
- package/lib/typescript/client/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +1 -1
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +1 -1
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/errors.d.ts +28 -0
- package/lib/typescript/credential/issuance/errors.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/index.d.ts +3 -2
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +0 -8
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/04-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/errors.d.ts +25 -0
- package/lib/typescript/credential/presentation/errors.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/index.d.ts +2 -1
- package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
- package/lib/typescript/credential/status/02-status-attestation.d.ts.map +1 -1
- package/lib/typescript/credential/status/types.d.ts +0 -15
- package/lib/typescript/credential/status/types.d.ts.map +1 -1
- package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts +4 -2
- package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/errors.d.ts +20 -0
- package/lib/typescript/sd-jwt/errors.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/index.d.ts +3 -2
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/utils/error-codes.d.ts +45 -0
- package/lib/typescript/utils/error-codes.d.ts.map +1 -0
- package/lib/typescript/utils/errors.d.ts +88 -225
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/lib/typescript/utils/misc.d.ts +9 -4
- package/lib/typescript/utils/misc.d.ts.map +1 -1
- package/lib/typescript/utils/par.d.ts.map +1 -1
- package/lib/typescript/wallet-instance/index.d.ts +17 -1
- package/lib/typescript/wallet-instance/index.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/types.d.ts +4 -4
- package/package.json +1 -1
- package/src/client/generated/wallet-provider.ts +43 -13
- package/src/client/index.ts +28 -15
- package/src/credential/issuance/03-start-user-authorization.ts +1 -1
- package/src/credential/issuance/04-complete-user-authorization.ts +21 -21
- package/src/credential/issuance/05-authorize-access.ts +7 -4
- package/src/credential/issuance/06-obtain-credential.ts +39 -39
- package/src/credential/issuance/README.md +8 -14
- package/src/credential/issuance/errors.ts +44 -0
- package/src/credential/issuance/index.ts +4 -2
- package/src/credential/issuance/types.ts +0 -8
- package/src/credential/presentation/01-start-flow.ts +1 -1
- package/src/credential/presentation/03-get-request-object.ts +3 -3
- package/src/credential/presentation/04-send-authorization-response.ts +3 -3
- package/src/credential/presentation/errors.ts +41 -0
- package/src/credential/presentation/index.ts +2 -0
- package/src/credential/status/02-status-attestation.ts +17 -25
- package/src/credential/status/README.md +5 -2
- package/src/credential/status/types.ts +0 -15
- package/src/credential/trustmark/get-credential-trustmark.ts +13 -4
- package/src/sd-jwt/errors.ts +39 -0
- package/src/sd-jwt/index.ts +5 -8
- package/src/sd-jwt/verifier.ts +5 -5
- package/src/trust/index.ts +3 -3
- package/src/utils/decoder.ts +3 -3
- package/src/utils/error-codes.ts +50 -0
- package/src/utils/errors.ts +152 -476
- package/src/utils/misc.ts +20 -17
- package/src/utils/par.ts +3 -2
- package/src/wallet-instance/README.md +26 -5
- package/src/wallet-instance/index.ts +40 -18
- package/src/wallet-instance-attestation/README.md +8 -2
- package/src/wallet-instance-attestation/issuing.ts +28 -36
|
@@ -41,18 +41,3 @@ export const ParsedStatusAttestation = z.object({
|
|
|
41
41
|
iat: UnixTime,
|
|
42
42
|
}),
|
|
43
43
|
});
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Shape from parsing a status attestation response in case of error.
|
|
47
|
-
*/
|
|
48
|
-
export const InvalidStatusAttestationResponse = z.object({
|
|
49
|
-
error: z.string(),
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Type from parsing a status attestation response in case of error.
|
|
54
|
-
* Inferred from {@link InvalidStatusAttestationResponse}.
|
|
55
|
-
*/
|
|
56
|
-
export type InvalidStatusAttestationResponse = z.infer<
|
|
57
|
-
typeof InvalidStatusAttestationResponse
|
|
58
|
-
>;
|
|
@@ -51,9 +51,11 @@ export type GetCredentialTrustmarkJwt = (params: {
|
|
|
51
51
|
* @param credentialType The type of credential for which the trustmark is generated
|
|
52
52
|
* @param docNumber (Optional) Document number contained in the credential, if applicable
|
|
53
53
|
* @param expirationTime (Optional) Expiration time for the trustmark, default is 2 minutes.
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* If a number is provided, it is interpreted as a timestamp in seconds.
|
|
55
|
+
* If a string is provided, it is interpreted as a time span and added to the current timestamp.
|
|
56
|
+
* @throws {IoWalletError} If the WIA is expired
|
|
56
57
|
* @throws {IoWalletError} If the public key associated to the WIA is not the same for the CryptoContext
|
|
58
|
+
* @throws {JWSSignatureVerificationFailed} If the WIA signature is not valid
|
|
57
59
|
* @returns A promise containing the signed JWT and its expiration time in seconds
|
|
58
60
|
*/
|
|
59
61
|
export const getCredentialTrustmark: GetCredentialTrustmarkJwt = async ({
|
|
@@ -71,6 +73,13 @@ export const getCredentialTrustmark: GetCredentialTrustmarkJwt = async ({
|
|
|
71
73
|
walletInstanceAttestation
|
|
72
74
|
);
|
|
73
75
|
|
|
76
|
+
/**
|
|
77
|
+
* Check that the WIA is not expired
|
|
78
|
+
*/
|
|
79
|
+
if (decodedWia.payload.exp * 1000 < Date.now()) {
|
|
80
|
+
throw new IoWalletError("Wallet Instance Attestation expired");
|
|
81
|
+
}
|
|
82
|
+
|
|
74
83
|
/**
|
|
75
84
|
* Verify holder binding by comparing thumbprints of the WIA and the CryptoContext key
|
|
76
85
|
*/
|
|
@@ -92,11 +101,11 @@ export const getCredentialTrustmark: GetCredentialTrustmarkJwt = async ({
|
|
|
92
101
|
})
|
|
93
102
|
.setPayload({
|
|
94
103
|
iss: walletInstanceAttestation,
|
|
95
|
-
sub: credentialType,
|
|
96
104
|
/**
|
|
97
105
|
* If present, the document number is obfuscated before adding it to the payload
|
|
98
106
|
*/
|
|
99
|
-
...(docNumber ? {
|
|
107
|
+
...(docNumber ? { sub: obfuscateString(docNumber) } : {}),
|
|
108
|
+
subtyp: credentialType,
|
|
100
109
|
})
|
|
101
110
|
.setIssuedAt()
|
|
102
111
|
.setExpirationTime(expirationTime)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When claims are requested but not found in the credential
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
5
|
+
export class ClaimsNotFoundBetweenDisclosures extends Error {
|
|
6
|
+
code = "ERR_CLAIMS_NOT_FOUND";
|
|
7
|
+
|
|
8
|
+
/** The Claims not found */
|
|
9
|
+
claims: string[];
|
|
10
|
+
|
|
11
|
+
constructor(claims: string | string[]) {
|
|
12
|
+
const c = Array.isArray(claims) ? claims : [claims];
|
|
13
|
+
const message = `Some requested claims are not present in the disclosurable values, claims: ${c.join(
|
|
14
|
+
", "
|
|
15
|
+
)}`;
|
|
16
|
+
super(message);
|
|
17
|
+
this.claims = c;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* When the SD-JWT does not contain an hashed reference to a given set of claims
|
|
23
|
+
*/
|
|
24
|
+
export class ClaimsNotFoundInToken extends Error {
|
|
25
|
+
code = "ERR_CLAIMS_NOT_FOUND_IN_TOKEN";
|
|
26
|
+
|
|
27
|
+
/** The Claims not found */
|
|
28
|
+
claims: string[];
|
|
29
|
+
|
|
30
|
+
constructor(claims: string | string[]) {
|
|
31
|
+
const claimsArray = Array.isArray(claims) ? claims : [claims];
|
|
32
|
+
super(
|
|
33
|
+
`Some requested claims are not present in the disclosurable values: ${claimsArray.join(
|
|
34
|
+
", "
|
|
35
|
+
)}`
|
|
36
|
+
);
|
|
37
|
+
this.claims = claimsArray;
|
|
38
|
+
}
|
|
39
|
+
}
|
package/src/sd-jwt/index.ts
CHANGED
|
@@ -6,10 +6,7 @@ import { sha256ToBase64 } from "@pagopa/io-react-native-jwt";
|
|
|
6
6
|
import { Disclosure, SdJwt4VC, type DisclosureWithEncoded } from "./types";
|
|
7
7
|
import { verifyDisclosure } from "./verifier";
|
|
8
8
|
import type { JWK } from "../utils/jwk";
|
|
9
|
-
import
|
|
10
|
-
ClaimsNotFoundBetweenDislosures,
|
|
11
|
-
ClaimsNotFoundInToken,
|
|
12
|
-
} from "../utils/errors";
|
|
9
|
+
import * as Errors from "./errors";
|
|
13
10
|
import { Base64 } from "js-base64";
|
|
14
11
|
|
|
15
12
|
const decodeDisclosure = (encoded: string): DisclosureWithEncoded => {
|
|
@@ -73,7 +70,7 @@ export const decode = <S extends z.ZodType<SdJwt4VC>>(
|
|
|
73
70
|
* @param token The encoded token that represents a valid sd-jwt for verifiable credentials
|
|
74
71
|
* @param claims The list of claims to be disclosed
|
|
75
72
|
*
|
|
76
|
-
* @throws {
|
|
73
|
+
* @throws {ClaimsNotFoundBetweenDisclosures} When one or more claims does not relate to any discloure.
|
|
77
74
|
* @throws {ClaimsNotFoundInToken} When one or more claims are not contained in the SD-JWT token.
|
|
78
75
|
* @returns The encoded token with only the requested disclosures, along with the path each claim can be found on the SD-JWT token
|
|
79
76
|
*
|
|
@@ -94,7 +91,7 @@ export const disclose = async (
|
|
|
94
91
|
|
|
95
92
|
// check every claim represents a known disclosure
|
|
96
93
|
if (!disclosure) {
|
|
97
|
-
throw new
|
|
94
|
+
throw new Errors.ClaimsNotFoundBetweenDisclosures(claim);
|
|
98
95
|
}
|
|
99
96
|
|
|
100
97
|
const hash = await sha256ToBase64(disclosure.encoded);
|
|
@@ -106,7 +103,7 @@ export const disclose = async (
|
|
|
106
103
|
return { claim, path: `verified_claims.claims._sd[${index}]` };
|
|
107
104
|
}
|
|
108
105
|
|
|
109
|
-
throw new ClaimsNotFoundInToken(claim);
|
|
106
|
+
throw new Errors.ClaimsNotFoundInToken(claim);
|
|
110
107
|
})
|
|
111
108
|
);
|
|
112
109
|
|
|
@@ -166,4 +163,4 @@ export const verify = async <S extends z.ZodType<SdJwt4VC>>(
|
|
|
166
163
|
};
|
|
167
164
|
};
|
|
168
165
|
|
|
169
|
-
export { SdJwt4VC };
|
|
166
|
+
export { SdJwt4VC, Errors };
|
package/src/sd-jwt/verifier.ts
CHANGED
|
@@ -9,10 +9,10 @@ export const verifyDisclosure = async (
|
|
|
9
9
|
) => {
|
|
10
10
|
let hash = await sha256ToBase64(encoded);
|
|
11
11
|
if (!claims.includes(hash)) {
|
|
12
|
-
throw new ValidationFailed(
|
|
13
|
-
"Validation of disclosure failed",
|
|
14
|
-
`${decoded}`,
|
|
15
|
-
"Disclosure hash not found in claims"
|
|
16
|
-
);
|
|
12
|
+
throw new ValidationFailed({
|
|
13
|
+
message: "Validation of disclosure failed",
|
|
14
|
+
claim: `${decoded}`,
|
|
15
|
+
reason: "Disclosure hash not found in claims",
|
|
16
|
+
});
|
|
17
17
|
}
|
|
18
18
|
};
|
package/src/trust/index.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
EntityStatement,
|
|
9
9
|
} from "./types";
|
|
10
10
|
import { validateTrustChain, renewTrustChain } from "./chain";
|
|
11
|
-
import {
|
|
11
|
+
import { hasStatusOrThrow } from "../utils/misc";
|
|
12
12
|
|
|
13
13
|
export type {
|
|
14
14
|
WalletProviderEntityConfiguration,
|
|
@@ -70,7 +70,7 @@ export async function getSignedEntityConfiguration(
|
|
|
70
70
|
return await appFetch(wellKnownUrl, {
|
|
71
71
|
method: "GET",
|
|
72
72
|
})
|
|
73
|
-
.then(
|
|
73
|
+
.then(hasStatusOrThrow(200))
|
|
74
74
|
.then((res) => res.text());
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -256,6 +256,6 @@ export async function getSignedEntityStatement(
|
|
|
256
256
|
return await appFetch(url, {
|
|
257
257
|
method: "GET",
|
|
258
258
|
})
|
|
259
|
-
.then(
|
|
259
|
+
.then(hasStatusOrThrow(200))
|
|
260
260
|
.then((res) => res.text());
|
|
261
261
|
}
|
package/src/utils/decoder.ts
CHANGED
|
@@ -47,7 +47,7 @@ export const getJwtFromFormPost = async (
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
throw new ValidationFailed(
|
|
51
|
-
`Unable to obtain JWT from form_post.jwt. Form data: ${formData}
|
|
52
|
-
);
|
|
50
|
+
throw new ValidationFailed({
|
|
51
|
+
message: `Unable to obtain JWT from form_post.jwt. Form data: ${formData}`,
|
|
52
|
+
});
|
|
53
53
|
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export const IssuerResponseErrorCodes = {
|
|
2
|
+
IssuerGenericError: "ERR_ISSUER_GENERIC_ERROR",
|
|
3
|
+
/**
|
|
4
|
+
* Error code thrown when a credential cannot be issued immediately because it follows the async flow.
|
|
5
|
+
*/
|
|
6
|
+
CredentialIssuingNotSynchronous: "ERR_CREDENTIAL_ISSUING_NOT_SYNCHRONOUS",
|
|
7
|
+
/**
|
|
8
|
+
* Error code thrown when an error occurs while requesting a credential.
|
|
9
|
+
*/
|
|
10
|
+
CredentialRequestFailed: "ERR_CREDENTIAL_REQUEST_FAILED",
|
|
11
|
+
/**
|
|
12
|
+
* Error code thrown when a credential status is invalid, either during issuance or when requesting a status attestation.
|
|
13
|
+
*/
|
|
14
|
+
CredentialInvalidStatus: "ERR_CREDENTIAL_INVALID_STATUS",
|
|
15
|
+
/**
|
|
16
|
+
* Error code thrown when an error occurs while obtaining a status attestation for a credential.
|
|
17
|
+
*/
|
|
18
|
+
StatusAttestationRequestFailed: "ERR_STATUS_ATTESTATION_REQUEST_FAILED",
|
|
19
|
+
} as const;
|
|
20
|
+
|
|
21
|
+
export const WalletProviderResponseErrorCodes = {
|
|
22
|
+
WalletProviderGenericError: "ERR_IO_WALLET_PROVIDER_GENERIC_ERROR",
|
|
23
|
+
/**
|
|
24
|
+
* An error code thrown when an error occurs during the wallet instance creation process.
|
|
25
|
+
*/
|
|
26
|
+
WalletInstanceCreationFailed: "ERR_IO_WALLET_INSTANCE_CREATION_FAILED",
|
|
27
|
+
/**
|
|
28
|
+
* An error code thrown when validation fail
|
|
29
|
+
*/
|
|
30
|
+
WalletInstanceAttestationIssuingFailed:
|
|
31
|
+
"ERR_IO_WALLET_INSTANCE_ATTESTATION_ISSUING_FAILED",
|
|
32
|
+
/**
|
|
33
|
+
* An error code thrown when the requester does not pass the integrity checks when interacting with the Wallet Provider.
|
|
34
|
+
*/
|
|
35
|
+
WalletInstanceIntegrityFailed: "ERR_IO_WALLET_INSTANCE_INTEGRITY_FAILED",
|
|
36
|
+
/**
|
|
37
|
+
* An error code thrown when obtaining a wallet instance attestation but the wallet instance is revoked.
|
|
38
|
+
*/
|
|
39
|
+
WalletInstanceRevoked: "ERR_IO_WALLET_INSTANCE_REVOKED",
|
|
40
|
+
/**
|
|
41
|
+
* An error code thrown when obtaining a wallet instance attestation but the wallet instance is not found.
|
|
42
|
+
*/
|
|
43
|
+
WalletInstanceNotFound: "ERR_IO_WALLET_INSTANCE_NOT_FOUND",
|
|
44
|
+
} as const;
|
|
45
|
+
|
|
46
|
+
export type IssuerResponseErrorCode =
|
|
47
|
+
(typeof IssuerResponseErrorCodes)[keyof typeof IssuerResponseErrorCodes];
|
|
48
|
+
|
|
49
|
+
export type WalletProviderResponseErrorCode =
|
|
50
|
+
(typeof WalletProviderResponseErrorCodes)[keyof typeof WalletProviderResponseErrorCodes];
|