Put error at the bottom of the file

The `Error` is not interesting code, put it at the bottom of the file.

Refactor only, no logic changes.
This commit is contained in:
Tobin C. Harding 2023-02-10 11:32:51 +11:00
parent 19e094788f
commit f0d968197a
No known key found for this signature in database
GPG Key ID: 40BF9E4C269D6607
1 changed files with 39 additions and 39 deletions

View File

@ -51,45 +51,6 @@ use crate::io;
use crate::prelude::*;
use self::MerkleBlockError::*;
/// An error when verifying the merkle block.
#[derive(Clone, PartialEq, Eq, Debug)]
#[non_exhaustive]
pub enum MerkleBlockError {
/// Merkle root in the header doesn't match to the root calculated from partial merkle tree.
MerkleRootMismatch,
/// Partial merkle tree contains no transactions.
NoTransactions,
/// There are too many transactions.
TooManyTransactions,
/// General format error.
BadFormat(String),
}
impl fmt::Display for MerkleBlockError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use self::MerkleBlockError::*;
match *self {
MerkleRootMismatch => write!(f, "merkle header root doesn't match to the root calculated from the partial merkle tree"),
NoTransactions => write!(f, "partial merkle tree contains no transactions"),
TooManyTransactions => write!(f, "too many transactions"),
BadFormat(ref s) => write!(f, "general format error: {}", s),
}
}
}
#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
impl std::error::Error for MerkleBlockError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use self::MerkleBlockError::*;
match *self {
MerkleRootMismatch | NoTransactions | TooManyTransactions | BadFormat(_) => None,
}
}
}
/// Data structure that represents a partial merkle tree.
///
/// It represents a subset of the txid's of a known block, in a way that
@ -495,6 +456,45 @@ impl Decodable for MerkleBlock {
}
}
/// An error when verifying the merkle block.
#[derive(Clone, PartialEq, Eq, Debug)]
#[non_exhaustive]
pub enum MerkleBlockError {
/// Merkle root in the header doesn't match to the root calculated from partial merkle tree.
MerkleRootMismatch,
/// Partial merkle tree contains no transactions.
NoTransactions,
/// There are too many transactions.
TooManyTransactions,
/// General format error.
BadFormat(String),
}
impl fmt::Display for MerkleBlockError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
use self::MerkleBlockError::*;
match *self {
MerkleRootMismatch => write!(f, "merkle header root doesn't match to the root calculated from the partial merkle tree"),
NoTransactions => write!(f, "partial merkle tree contains no transactions"),
TooManyTransactions => write!(f, "too many transactions"),
BadFormat(ref s) => write!(f, "general format error: {}", s),
}
}
}
#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
impl std::error::Error for MerkleBlockError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
use self::MerkleBlockError::*;
match *self {
MerkleRootMismatch | NoTransactions | TooManyTransactions | BadFormat(_) => None,
}
}
}
#[cfg(test)]
mod tests {
#[cfg(feature = "rand-std")]