1use {
2 crate::no_std::{
3 fmt::{Debug, Display},
4 hash::Hash,
5 FromStr, String,
6 },
7 thiserror::Error,
8};
9
10pub trait Network:
12 Copy + Clone + Debug + Display + FromStr + Send + Sync + 'static + Eq + Ord + Sized + Hash
13{
14 const NAME: &'static str;
15}
16
17#[derive(Debug, Error)]
18pub enum NetworkError {
19 #[error("invalid extended private key prefix: {0}")]
20 InvalidExtendedPrivateKeyPrefix(String),
21
22 #[error("invalid extended public key prefix: {0}")]
23 InvalidExtendedPublicKeyPrefix(String),
24
25 #[error("invalid network: {0}")]
26 InvalidNetwork(String),
27}