1#![forbid(unsafe_code)]
2
3pub mod block;
4pub mod chain;
5pub mod transaction;
6pub mod wallet;
7
8pub use block::*;
9pub use chain::*;
10use serde::{Deserialize, Serialize};
11use thiserror::Error;
12pub use transaction::*;
13pub use wallet::*;
14
15#[derive(Debug, Error, Serialize, Deserialize, PartialEq)]
17pub enum BlockchainError {
18 #[error("Transaction not found.")]
20 TransactionNotFound,
21
22 #[error("Invalid transaction.")]
24 InvalidTransaction,
25
26 #[error("Invalid configuration during blockchain creation.")]
28 InvalidConfiguration,
29
30 #[error("Insufficient funds.")]
32 InsufficientFunds,
33
34 #[error("Wallet not found.")]
36 WalletNotFound,
37}