@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.
Files changed (192) hide show
  1. package/lib/commonjs/client/generated/wallet-provider.js +39 -16
  2. package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
  3. package/lib/commonjs/client/index.js +25 -10
  4. package/lib/commonjs/client/index.js.map +1 -1
  5. package/lib/commonjs/credential/issuance/03-start-user-authorization.js +1 -1
  6. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +21 -14
  7. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
  8. package/lib/commonjs/credential/issuance/05-authorize-access.js +5 -2
  9. package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/06-obtain-credential.js +26 -17
  11. package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/README.md +8 -14
  13. package/lib/commonjs/credential/issuance/errors.js +52 -0
  14. package/lib/commonjs/credential/issuance/errors.js.map +1 -0
  15. package/lib/commonjs/credential/issuance/index.js +7 -2
  16. package/lib/commonjs/credential/issuance/index.js.map +1 -1
  17. package/lib/commonjs/credential/issuance/types.js +1 -5
  18. package/lib/commonjs/credential/issuance/types.js.map +1 -1
  19. package/lib/commonjs/credential/presentation/01-start-flow.js +1 -1
  20. package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
  21. package/lib/commonjs/credential/presentation/03-get-request-object.js +2 -2
  22. package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
  23. package/lib/commonjs/credential/presentation/04-send-authorization-response.js +2 -2
  24. package/lib/commonjs/credential/presentation/04-send-authorization-response.js.map +1 -1
  25. package/lib/commonjs/credential/presentation/errors.js +49 -0
  26. package/lib/commonjs/credential/presentation/errors.js.map +1 -0
  27. package/lib/commonjs/credential/presentation/index.js +5 -0
  28. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  29. package/lib/commonjs/credential/status/02-status-attestation.js +8 -6
  30. package/lib/commonjs/credential/status/02-status-attestation.js.map +1 -1
  31. package/lib/commonjs/credential/status/README.md +5 -2
  32. package/lib/commonjs/credential/status/types.js +1 -14
  33. package/lib/commonjs/credential/status/types.js.map +1 -1
  34. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js +14 -5
  35. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js.map +1 -1
  36. package/lib/commonjs/sd-jwt/errors.js +40 -0
  37. package/lib/commonjs/sd-jwt/errors.js.map +1 -0
  38. package/lib/commonjs/sd-jwt/index.js +8 -4
  39. package/lib/commonjs/sd-jwt/index.js.map +1 -1
  40. package/lib/commonjs/sd-jwt/verifier.js +5 -1
  41. package/lib/commonjs/sd-jwt/verifier.js.map +1 -1
  42. package/lib/commonjs/trust/index.js +2 -2
  43. package/lib/commonjs/trust/index.js.map +1 -1
  44. package/lib/commonjs/utils/decoder.js +3 -1
  45. package/lib/commonjs/utils/decoder.js.map +1 -1
  46. package/lib/commonjs/utils/error-codes.js +51 -0
  47. package/lib/commonjs/utils/error-codes.js.map +1 -0
  48. package/lib/commonjs/utils/errors.js +119 -463
  49. package/lib/commonjs/utils/errors.js.map +1 -1
  50. package/lib/commonjs/utils/misc.js +21 -14
  51. package/lib/commonjs/utils/misc.js.map +1 -1
  52. package/lib/commonjs/utils/par.js +2 -1
  53. package/lib/commonjs/utils/par.js.map +1 -1
  54. package/lib/commonjs/wallet-instance/README.md +26 -5
  55. package/lib/commonjs/wallet-instance/index.js +33 -7
  56. package/lib/commonjs/wallet-instance/index.js.map +1 -1
  57. package/lib/commonjs/wallet-instance-attestation/README.md +8 -2
  58. package/lib/commonjs/wallet-instance-attestation/issuing.js +13 -10
  59. package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
  60. package/lib/module/client/generated/wallet-provider.js +31 -11
  61. package/lib/module/client/generated/wallet-provider.js.map +1 -1
  62. package/lib/module/client/index.js +22 -8
  63. package/lib/module/client/index.js.map +1 -1
  64. package/lib/module/credential/issuance/03-start-user-authorization.js +1 -1
  65. package/lib/module/credential/issuance/04-complete-user-authorization.js +16 -9
  66. package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
  67. package/lib/module/credential/issuance/05-authorize-access.js +7 -4
  68. package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
  69. package/lib/module/credential/issuance/06-obtain-credential.js +29 -20
  70. package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
  71. package/lib/module/credential/issuance/README.md +8 -14
  72. package/lib/module/credential/issuance/errors.js +44 -0
  73. package/lib/module/credential/issuance/errors.js.map +1 -0
  74. package/lib/module/credential/issuance/index.js +3 -2
  75. package/lib/module/credential/issuance/index.js.map +1 -1
  76. package/lib/module/credential/issuance/types.js +0 -3
  77. package/lib/module/credential/issuance/types.js.map +1 -1
  78. package/lib/module/credential/presentation/01-start-flow.js +1 -1
  79. package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
  80. package/lib/module/credential/presentation/03-get-request-object.js +3 -3
  81. package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
  82. package/lib/module/credential/presentation/04-send-authorization-response.js +3 -3
  83. package/lib/module/credential/presentation/04-send-authorization-response.js.map +1 -1
  84. package/lib/module/credential/presentation/errors.js +42 -0
  85. package/lib/module/credential/presentation/errors.js.map +1 -0
  86. package/lib/module/credential/presentation/index.js +2 -1
  87. package/lib/module/credential/presentation/index.js.map +1 -1
  88. package/lib/module/credential/status/02-status-attestation.js +11 -9
  89. package/lib/module/credential/status/02-status-attestation.js.map +1 -1
  90. package/lib/module/credential/status/README.md +5 -2
  91. package/lib/module/credential/status/types.js +0 -12
  92. package/lib/module/credential/status/types.js.map +1 -1
  93. package/lib/module/credential/trustmark/get-credential-trustmark.js +14 -5
  94. package/lib/module/credential/trustmark/get-credential-trustmark.js.map +1 -1
  95. package/lib/module/sd-jwt/errors.js +32 -0
  96. package/lib/module/sd-jwt/errors.js.map +1 -0
  97. package/lib/module/sd-jwt/index.js +5 -5
  98. package/lib/module/sd-jwt/index.js.map +1 -1
  99. package/lib/module/sd-jwt/verifier.js +5 -1
  100. package/lib/module/sd-jwt/verifier.js.map +1 -1
  101. package/lib/module/trust/index.js +3 -3
  102. package/lib/module/trust/index.js.map +1 -1
  103. package/lib/module/utils/decoder.js +3 -1
  104. package/lib/module/utils/decoder.js.map +1 -1
  105. package/lib/module/utils/error-codes.js +43 -0
  106. package/lib/module/utils/error-codes.js.map +1 -0
  107. package/lib/module/utils/errors.js +98 -438
  108. package/lib/module/utils/errors.js.map +1 -1
  109. package/lib/module/utils/misc.js +18 -11
  110. package/lib/module/utils/misc.js.map +1 -1
  111. package/lib/module/utils/par.js +3 -2
  112. package/lib/module/utils/par.js.map +1 -1
  113. package/lib/module/wallet-instance/README.md +26 -5
  114. package/lib/module/wallet-instance/index.js +32 -7
  115. package/lib/module/wallet-instance/index.js.map +1 -1
  116. package/lib/module/wallet-instance-attestation/README.md +8 -2
  117. package/lib/module/wallet-instance-attestation/issuing.js +15 -12
  118. package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
  119. package/lib/typescript/client/generated/wallet-provider.d.ts +138 -27
  120. package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
  121. package/lib/typescript/client/index.d.ts +7 -1
  122. package/lib/typescript/client/index.d.ts.map +1 -1
  123. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +1 -1
  124. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +1 -1
  125. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
  126. package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
  127. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
  128. package/lib/typescript/credential/issuance/errors.d.ts +28 -0
  129. package/lib/typescript/credential/issuance/errors.d.ts.map +1 -0
  130. package/lib/typescript/credential/issuance/index.d.ts +3 -2
  131. package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
  132. package/lib/typescript/credential/issuance/types.d.ts +0 -8
  133. package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
  134. package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
  135. package/lib/typescript/credential/presentation/04-send-authorization-response.d.ts.map +1 -1
  136. package/lib/typescript/credential/presentation/errors.d.ts +25 -0
  137. package/lib/typescript/credential/presentation/errors.d.ts.map +1 -0
  138. package/lib/typescript/credential/presentation/index.d.ts +2 -1
  139. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  140. package/lib/typescript/credential/status/02-status-attestation.d.ts.map +1 -1
  141. package/lib/typescript/credential/status/types.d.ts +0 -15
  142. package/lib/typescript/credential/status/types.d.ts.map +1 -1
  143. package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts +4 -2
  144. package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts.map +1 -1
  145. package/lib/typescript/sd-jwt/errors.d.ts +20 -0
  146. package/lib/typescript/sd-jwt/errors.d.ts.map +1 -0
  147. package/lib/typescript/sd-jwt/index.d.ts +3 -2
  148. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  149. package/lib/typescript/utils/error-codes.d.ts +45 -0
  150. package/lib/typescript/utils/error-codes.d.ts.map +1 -0
  151. package/lib/typescript/utils/errors.d.ts +88 -225
  152. package/lib/typescript/utils/errors.d.ts.map +1 -1
  153. package/lib/typescript/utils/misc.d.ts +9 -4
  154. package/lib/typescript/utils/misc.d.ts.map +1 -1
  155. package/lib/typescript/utils/par.d.ts.map +1 -1
  156. package/lib/typescript/wallet-instance/index.d.ts +17 -1
  157. package/lib/typescript/wallet-instance/index.d.ts.map +1 -1
  158. package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
  159. package/lib/typescript/wallet-instance-attestation/types.d.ts +4 -4
  160. package/package.json +1 -1
  161. package/src/client/generated/wallet-provider.ts +43 -13
  162. package/src/client/index.ts +28 -15
  163. package/src/credential/issuance/03-start-user-authorization.ts +1 -1
  164. package/src/credential/issuance/04-complete-user-authorization.ts +21 -21
  165. package/src/credential/issuance/05-authorize-access.ts +7 -4
  166. package/src/credential/issuance/06-obtain-credential.ts +39 -39
  167. package/src/credential/issuance/README.md +8 -14
  168. package/src/credential/issuance/errors.ts +44 -0
  169. package/src/credential/issuance/index.ts +4 -2
  170. package/src/credential/issuance/types.ts +0 -8
  171. package/src/credential/presentation/01-start-flow.ts +1 -1
  172. package/src/credential/presentation/03-get-request-object.ts +3 -3
  173. package/src/credential/presentation/04-send-authorization-response.ts +3 -3
  174. package/src/credential/presentation/errors.ts +41 -0
  175. package/src/credential/presentation/index.ts +2 -0
  176. package/src/credential/status/02-status-attestation.ts +17 -25
  177. package/src/credential/status/README.md +5 -2
  178. package/src/credential/status/types.ts +0 -15
  179. package/src/credential/trustmark/get-credential-trustmark.ts +13 -4
  180. package/src/sd-jwt/errors.ts +39 -0
  181. package/src/sd-jwt/index.ts +5 -8
  182. package/src/sd-jwt/verifier.ts +5 -5
  183. package/src/trust/index.ts +3 -3
  184. package/src/utils/decoder.ts +3 -3
  185. package/src/utils/error-codes.ts +50 -0
  186. package/src/utils/errors.ts +152 -476
  187. package/src/utils/misc.ts +20 -17
  188. package/src/utils/par.ts +3 -2
  189. package/src/wallet-instance/README.md +26 -5
  190. package/src/wallet-instance/index.ts +40 -18
  191. package/src/wallet-instance-attestation/README.md +8 -2
  192. 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
- * 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.
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 ? { subtyp: obfuscateString(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
+ }
@@ -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 {ClaimsNotFoundBetweenDislosures} When one or more claims does not relate to any discloure.
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 ClaimsNotFoundBetweenDislosures(claim);
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 };
@@ -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
  };
@@ -8,7 +8,7 @@ import {
8
8
  EntityStatement,
9
9
  } from "./types";
10
10
  import { validateTrustChain, renewTrustChain } from "./chain";
11
- import { hasStatus } from "../utils/misc";
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(hasStatus(200))
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(hasStatus(200))
259
+ .then(hasStatusOrThrow(200))
260
260
  .then((res) => res.text());
261
261
  }
@@ -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];