keymaster_multisig/
error.rs1use 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>;