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}