From 6f5469ba9ab1616242484f5806bc4f4fd926ea0b Mon Sep 17 00:00:00 2001 From: Bruno Galvao Date: Thu, 18 Apr 2024 20:10:58 +0900 Subject: [PATCH] use thiserror --- crates/pop-contracts/src/errors.rs | 5 +++++ crates/pop-parachains/src/errors.rs | 2 +- crates/pop-parachains/src/new_pallet.rs | 7 ++++--- crates/pop-parachains/src/up.rs | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/crates/pop-contracts/src/errors.rs b/crates/pop-contracts/src/errors.rs index fef340d8..2e46d08a 100644 --- a/crates/pop-contracts/src/errors.rs +++ b/crates/pop-contracts/src/errors.rs @@ -4,14 +4,19 @@ use thiserror::Error; pub enum Error { #[error("Failed to create new contract project: {0}")] NewContractFailed(String), + #[error("IO error: {0}")] IO(#[from] std::io::Error), + #[error("Failed to execute test command: {0}")] TestCommand(String), + #[error("Failed to parse balance: {0}")] BalanceParsing(String), + #[error("Failed to parse account address: {0}")] AccountAddressParsing(String), + #[error("Failed to get manifest path: {0}")] ManifestPath(String), } diff --git a/crates/pop-parachains/src/errors.rs b/crates/pop-parachains/src/errors.rs index 123547a5..81f86567 100644 --- a/crates/pop-parachains/src/errors.rs +++ b/crates/pop-parachains/src/errors.rs @@ -16,7 +16,7 @@ pub enum Error { PalletDirCreation, #[error("IO error: {0}")] - IoError(#[from] std::io::Error), + IO(#[from] std::io::Error), #[error("Git error: {0}")] GitError(String), diff --git a/crates/pop-parachains/src/new_pallet.rs b/crates/pop-parachains/src/new_pallet.rs index 506ef379..d49e7da3 100644 --- a/crates/pop-parachains/src/new_pallet.rs +++ b/crates/pop-parachains/src/new_pallet.rs @@ -7,6 +7,7 @@ use crate::{ resolve_pallet_path, utils::helpers::sanitize, }; +use crate::errors::Error; pub struct TemplatePalletConfig { pub name: String, @@ -17,7 +18,7 @@ pub struct TemplatePalletConfig { pub fn create_pallet_template( path: Option, config: TemplatePalletConfig, -) -> anyhow::Result<()> { +) -> Result<(), Error> { let target = resolve_pallet_path(path)?; let pallet_name = config.name.clone(); let pallet_path = target.join(pallet_name.clone()); @@ -29,7 +30,7 @@ pub fn create_pallet_template( } /// Generate a pallet folder and file structure -fn generate_pallet_structure(target: &PathBuf, pallet_name: &str) -> anyhow::Result<()> { +fn generate_pallet_structure(target: &PathBuf, pallet_name: &str) -> Result<(), Error> { use fs::{create_dir, File}; let (pallet, src) = (target.join(pallet_name), target.join(pallet_name.to_string() + "/src")); create_dir(&pallet)?; @@ -46,7 +47,7 @@ fn render_pallet( pallet_name: String, config: TemplatePalletConfig, pallet_path: &PathBuf, -) -> anyhow::Result<()> { +) -> Result<(), Error> { let pallet_name = pallet_name.replace('-', "_"); // Todo `module` must be of the form Template if pallet_name : `pallet_template` let pallet: Vec> = vec![ diff --git a/crates/pop-parachains/src/up.rs b/crates/pop-parachains/src/up.rs index 52500a5a..9425a529 100644 --- a/crates/pop-parachains/src/up.rs +++ b/crates/pop-parachains/src/up.rs @@ -41,7 +41,7 @@ impl Zombienet { // Parse network config let network_config_path = PathBuf::from(network_config); let config = std::fs::read_to_string(&network_config_path) - .map_err(|err| Error::IoError(err)) + .map_err(|err| Error::IO(err)) .and_then(|content| { content.parse::().map_err(|err| Error::TomlError(err.into())) })?; @@ -236,7 +236,7 @@ impl Zombienet { let network_config_file = Builder::new() .suffix(".toml") .tempfile() - .map_err(|err| Error::IoError(err)) + .map_err(|err| Error::IO(err)) .expect("network config could not be created with .toml extension"); let path = network_config_file .path()