fuel-data-parser 0.0.12

A parser for Fuel blockchain data structures and formats
Documentation
#![allow(dead_code)]

use displaydoc::Display as DisplayDoc;
use thiserror::Error;

/// Compression error types
#[derive(Debug, DisplayDoc, Error)]
pub enum CompressionError {
    /// Failed to compress or decompress data using zlib: {0}
    Zlib(std::io::Error),
    /// Failed to compress or decompress data using gzip: {0}
    Gzip(std::io::Error),
    /// Failed to compress or decompress data using brotli: {0}
    Brotli(std::io::Error),
    /// Failed to compress or decompress data using bzip2: {0}
    Bz(std::io::Error),
    /// Failed to compress or decompress data using lzma: {0}
    Lzma(std::io::Error),
    /// Failed to compress or decompress data using deflate: {0}
    Deflate(std::io::Error),
    /// Failed to compress or decompress data using zstd: {0}
    Zstd(std::io::Error),
}

/// Serialization/Deserialization error types.
#[derive(Debug, DisplayDoc, Error)]
pub enum SerdeError {
    /// Failed to serialize or deserialize data using bincode: {0}
    Bincode(#[from] bincode::ErrorKind),
    /// Failed to serialize or deserialize data using postcard: {0}
    Postcard(#[from] postcard::Error),
    /// Failed to serialize or deserialize data using JSON: {0}
    Json(#[from] serde_json::Error),
}

/// Data parser error types.
#[derive(Debug, DisplayDoc, Error)]
pub enum Error {
    /// An error occurred during data compression or decompression: {0}
    Compression(#[from] CompressionError),
    /// An error occurred during data serialization or deserialization: {0}
    Serde(#[from] SerdeError),
}