use crate::{ProcessAuthError, ProcessDeployError, ProcessExecError};
use thiserror::Error;
#[derive(Debug, Error)]
pub enum VmExecError {
#[error("Authorization failed: {0}")]
Auth(#[from] VmAuthError),
#[error("Process execution failed: {0}")]
Process(#[from] ProcessExecError),
#[error(transparent)]
Anyhow(#[from] anyhow::Error),
}
#[derive(Debug, Error)]
pub enum VmAuthError {
#[error("Process authorization failed: {0}")]
Process(#[from] ProcessAuthError),
#[error(transparent)]
Anyhow(#[from] anyhow::Error),
}
#[derive(Debug, Error)]
pub enum VmDeployError {
#[error("Process deployment failed: {0}")]
Process(#[from] ProcessDeployError),
#[error("Fee execution failed: {0}")]
FeeExec(#[from] VmExecError),
#[error(transparent)]
Anyhow(#[from] anyhow::Error),
}