arch_test_sdk 0.5.9

A Rust SDK for building applications on the Arch Network blockchain platform. Provides tools and interfaces for developing, testing, and deploying programs with native Bitcoin integration.
Documentation
use std::{array::TryFromSliceError, string::FromUtf8Error};

use thiserror::Error;

#[derive(Error, Debug, Clone, PartialEq)]
pub enum SDKError {
    #[error("signing and sending transaction failed")]
    SignAndSendFailed(String),

    #[error("get processed transaction failed")]
    GetProcessedTransactionFailed,

    #[error("elf path cannot be found")]
    ElfPathNotFound,

    #[error("send transaction failed")]
    SendTransactionFailed,

    #[error("returned invalid response type")]
    InvalidResponseType,

    #[error("deserialization error")]
    DeserializationError,

    #[error("from hex error")]
    FromHexError,

    #[error("from slice error")]
    FromSliceError,

    #[error("from utf8 error")]
    FromUtf8Error,

    #[error("from str error: {0}")]
    FromStrError(String),
}

impl From<hex::FromHexError> for SDKError {
    fn from(_e: hex::FromHexError) -> Self {
        SDKError::FromHexError
    }
}

impl From<TryFromSliceError> for SDKError {
    fn from(_e: TryFromSliceError) -> Self {
        SDKError::FromSliceError
    }
}

impl From<FromUtf8Error> for SDKError {
    fn from(_e: FromUtf8Error) -> Self {
        SDKError::FromUtf8Error
    }
}

impl From<anyhow::Error> for SDKError {
    fn from(e: anyhow::Error) -> Self {
        SDKError::FromStrError(e.to_string())
    }
}