1use thiserror::Error;
2
3#[derive(Error, Debug)]
4#[error("Signal protocol error")]
5pub struct SignalError;
6
7#[derive(Error, Debug)]
8#[error("Untrusted identity key for address: {addr}")]
9pub struct UntrustedIdentityKeyError {
10 pub addr: String,
11 pub identity_key: Vec<u8>,
12}
13
14impl UntrustedIdentityKeyError {
15 pub fn new(addr: String, identity_key: Vec<u8>) -> Self {
16 Self { addr, identity_key }
17 }
18}
19
20#[derive(Error, Debug)]
21#[error("Session error: {message}")]
22pub struct SessionError {
23 pub message: String,
24}
25
26impl SessionError {
27 pub fn new(message: impl Into<String>) -> Self {
28 Self {
29 message: message.into(),
30 }
31 }
32}
33
34#[derive(Error, Debug)]
35#[error("Message counter error: {message}")]
36pub struct MessageCounterError {
37 pub message: String,
38}
39
40impl MessageCounterError {
41 pub fn new(message: impl Into<String>) -> Self {
42 Self {
43 message: message.into(),
44 }
45 }
46}
47
48#[derive(Error, Debug)]
49#[error("PreKey error: {message}")]
50pub struct PreKeyError {
51 pub message: String,
52}
53
54impl PreKeyError {
55 pub fn new(message: impl Into<String>) -> Self {
56 Self {
57 message: message.into(),
58 }
59 }
60}