diff --git a/shared/src/advent/challenges/day_three/repo.rs b/shared/src/advent/challenges/day_three/repo.rs index 2c608b3..0a1901e 100644 --- a/shared/src/advent/challenges/day_three/repo.rs +++ b/shared/src/advent/challenges/day_three/repo.rs @@ -5,6 +5,16 @@ use atrium_crypto::keypair::P256Keypair; use atrium_repo::{Repository, blockstore::{CarStore, MemoryBlockStore}}; use serde::Serialize; +#[derive(Debug, thiserror::Error)] +pub enum CarBuildError { + #[error("Signing error: {0}")] + Signing(#[from] atrium_crypto::Error), + #[error("Repo error: {0}")] + Repo(#[from] atrium_repo::repo::Error), + #[error("CAR error: {0}")] + Car(#[from] atrium_repo::blockstore::CarError), +} + /// secret record type #[derive(Debug, Serialize)] #[serde(rename_all = "camelCase")] @@ -22,7 +32,7 @@ pub async fn manufacture_car( collection: &str, rkey: &str, record: ChallengeRecord, -) -> Result, Box> { +) -> Result, CarBuildError> { // throwaway (fake key hello) let keypair = P256Keypair::import(&[1u8; 32])?;