sd_jwt_payload/
error.rs

1// Copyright 2020-2023 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4/// Alias for a `Result` with the error type [`Error`].
5pub type Result<T> = ::core::result::Result<T, Error>;
6
7#[derive(Debug, thiserror::Error, strum::IntoStaticStr, PartialEq)]
8#[non_exhaustive]
9pub enum Error {
10  #[error("invalid input: {0}")]
11  InvalidDisclosure(String),
12
13  #[error("invalid hasher: {0}")]
14  InvalidHasher(String),
15
16  #[error("data type is not expected: {0}")]
17  DataTypeMismatch(String),
18
19  #[error("claim {0} of disclosure already exists")]
20  ClaimCollisionError(String),
21
22  #[error("digest {0} appears multiple times")]
23  DuplicateDigestError(String),
24
25  #[error("array disclosure object contains keys other than `...`")]
26  InvalidArrayDisclosureObject,
27
28  #[error("invalid path: {0}")]
29  InvalidPath(String),
30
31  #[error("invalid input")]
32  DeserializationError(String),
33
34  #[error("{0}")]
35  Unspecified(String),
36
37  #[error("salt size must be greater than or equal to 16")]
38  InvalidSaltSize,
39
40  #[error("the validation ended with {0} unused disclosure(s)")]
41  UnusedDisclosures(usize),
42
43  #[error("JWS creation failure: {0}")]
44  JwsSignerFailure(String),
45
46  #[error("Missing required KB-JWT")]
47  MissingKeyBindingJwt,
48}