Skip to main content

keymaster_multisig/
error.rs

1use thiserror::Error;
2use wasm_bindgen::JsValue;
3
4#[derive(Error, Debug)]
5pub enum MultisigError {
6    #[error("Invalid public keys")]
7    InvalidPublicKeys,
8    #[error("Private keys not supplied")]
9    NoPrivateKeys,
10    #[error("Invalid m value: {0}")]
11    InvalidM(String),
12    #[error("Empty previous transaction")]
13    EmptyPreviousTx,
14    #[error("Signature error: {0}")]
15    SignatureError(String),
16    #[error("Transaction error: {0}")]
17    TransactionError(String),
18    #[error("Serialization error: {0}")]
19    SerializationError(String),
20    #[error("Invalid private key")]
21    InvalidPrivateKey,
22}
23
24impl From<MultisigError> for JsValue {
25    fn from(error: MultisigError) -> Self {
26        JsValue::from_str(&error.to_string())
27    }
28}
29
30pub type Result<T> = std::result::Result<T, MultisigError>;