Quellcode durchsuchen

refactor(cdk-redb): abstract error

thesimplekid vor 11 Monaten
Ursprung
Commit
35540f4304
2 geänderte Dateien mit 5 neuen und 69 gelöschten Zeilen
  1. 3 39
      crates/cdk-redb/src/mint.rs
  2. 2 30
      crates/cdk-redb/src/wallet.rs

+ 3 - 39
crates/cdk-redb/src/mint.rs

@@ -1,20 +1,20 @@
 use std::collections::HashMap;
-use std::num::ParseIntError;
 use std::str::FromStr;
 use std::sync::Arc;
 
 use async_trait::async_trait;
-use cdk::cdk_database::{self, MintDatabase};
+use cdk::cdk_database::MintDatabase;
 use cdk::dhke::hash_to_curve;
 use cdk::mint::MintKeySetInfo;
 use cdk::nuts::{BlindSignature, CurrencyUnit, Id, MintInfo, Proof, PublicKey};
 use cdk::secret::Secret;
 use cdk::types::{MeltQuote, MintQuote};
 use redb::{Database, ReadableTable, TableDefinition};
-use thiserror::Error;
 use tokio::sync::Mutex;
 use tracing::debug;
 
+use super::error::Error;
+
 const ACTIVE_KEYSETS_TABLE: TableDefinition<&str, &str> = TableDefinition::new("active_keysets");
 const KEYSETS_TABLE: TableDefinition<&str, &str> = TableDefinition::new("keysets");
 const MINT_QUOTES_TABLE: TableDefinition<&str, &str> = TableDefinition::new("mint_quotes");
@@ -29,42 +29,6 @@ const BLINDED_SIGNATURES: TableDefinition<[u8; 33], &str> =
 
 const DATABASE_VERSION: u64 = 0;
 
-#[derive(Debug, Error)]
-pub enum Error {
-    #[error(transparent)]
-    Redb(#[from] redb::Error),
-    #[error(transparent)]
-    Database(#[from] redb::DatabaseError),
-    #[error(transparent)]
-    Transaction(#[from] redb::TransactionError),
-    #[error(transparent)]
-    Commit(#[from] redb::CommitError),
-    #[error(transparent)]
-    Table(#[from] redb::TableError),
-    #[error(transparent)]
-    Storage(#[from] redb::StorageError),
-    #[error(transparent)]
-    Serde(#[from] serde_json::Error),
-    #[error(transparent)]
-    ParseInt(#[from] ParseIntError),
-    #[error(transparent)]
-    CDKDatabase(#[from] cdk_database::Error),
-    #[error(transparent)]
-    CDK(#[from] cdk::error::Error),
-    #[error(transparent)]
-    CDKNUT02(#[from] cdk::nuts::nut02::Error),
-    #[error(transparent)]
-    CDKNUT00(#[from] cdk::nuts::nut00::Error),
-    #[error("Unknown Mint Info")]
-    UnknownMintInfo,
-}
-
-impl From<Error> for cdk_database::Error {
-    fn from(e: Error) -> Self {
-        Self::Database(Box::new(e))
-    }
-}
-
 #[derive(Debug, Clone)]
 pub struct MintRedbDatabase {
     db: Arc<Mutex<Database>>,

+ 2 - 30
crates/cdk-redb/src/wallet.rs

@@ -1,44 +1,16 @@
 use std::collections::HashMap;
-use std::num::ParseIntError;
 use std::str::FromStr;
 use std::sync::Arc;
 
 use async_trait::async_trait;
-use cdk::cdk_database::{self, WalletDatabase};
+use cdk::cdk_database::WalletDatabase;
 use cdk::nuts::{Id, KeySetInfo, Keys, MintInfo, Proofs};
 use cdk::types::{MeltQuote, MintQuote};
 use cdk::url::UncheckedUrl;
 use redb::{Database, MultimapTableDefinition, ReadableTable, TableDefinition};
-use thiserror::Error;
 use tokio::sync::Mutex;
 
-#[derive(Debug, Error)]
-pub enum Error {
-    #[error(transparent)]
-    Redb(#[from] redb::Error),
-    #[error(transparent)]
-    Database(#[from] redb::DatabaseError),
-    #[error(transparent)]
-    Transaction(#[from] redb::TransactionError),
-    #[error(transparent)]
-    Commit(#[from] redb::CommitError),
-    #[error(transparent)]
-    Table(#[from] redb::TableError),
-    #[error(transparent)]
-    Storage(#[from] redb::StorageError),
-    #[error(transparent)]
-    Serde(#[from] serde_json::Error),
-    #[error(transparent)]
-    ParseInt(#[from] ParseIntError),
-    #[error(transparent)]
-    CDKDatabase(#[from] cdk_database::Error),
-}
-
-impl From<Error> for cdk_database::Error {
-    fn from(e: Error) -> Self {
-        Self::Database(Box::new(e))
-    }
-}
+use super::error::Error;
 
 const MINTS_TABLE: TableDefinition<&str, &str> = TableDefinition::new("mints_table");
 const MINT_KEYSETS_TABLE: MultimapTableDefinition<&str, &str> =