compressed_transactions 1.0.0

A crate that exposes a command-line interface for compressing bitcoin transactions, and a library that exposes a CompressedTransaction structure and its required subclasses.
Documentation
#[derive(thiserror::Error, Debug)]
pub enum Error {
    #[error("Help Message")]
    HelpMessage(),

    #[error("Argument is not valid (see --help):\n{}", .0)]
    UnknownArgument(String),
    #[error("Unknown method  (see --help):\n{}", .0)]
    UnknownMethod(String),
    #[error("Hex is not a valid hex encoded raw transaction:\n{}", .0)]
    InvalidHex(String),

    #[error("Could not find input, Input missing or spent.")]
    InputMissing(),

    #[error("Cannot Compress Object.")]
    CannotCompress(),

    #[error("Bitcoin Core RPC Failed (Ensure rpcuser and rpcpassword are set correctly):\n{}", .0)]
    BitcoincoreRPC(#[from] bitcoincore_rpc::Error),
    #[error("Bitcoin Core Absolute Error:\n{}", .0)]
    BitcoinAbsolute(#[from] bitcoin::absolute::Error),
    #[error("Bitcoin Core Decode Error:\n{}", .0)]
    BitcoinConensus(#[from] bitcoin::consensus::encode::Error),
    #[error("Bitcoin Sighash Error:\n{}", .0)]
    BitcoinSighash(#[from] bitcoin::sighash::Error),
    #[error("Bitcoin Key Error:\n{}", .0)]
    BitcoinKey(#[from] bitcoin::key::Error),
    #[error("Secp256k1 Error:\n{}", .0)]
    Secp256k1(#[from] secp256k1::Error),
    #[error("FromSlice Error:\n{}", .0)]
    FromSlice(#[from] bitcoin::hashes::FromSliceError),
    #[error("From Hex Error:\n{}", .0)]
    Hex(#[from] hex::FromHexError),
    #[error("IO Error:\n{}", .0)]
    Io(#[from] std::io::Error),
}