mirror of
https://github.com/aljazceru/cdk.git
synced 2026-02-02 19:55:56 +01:00
chore: update rexie nostr
This commit is contained in:
@@ -25,7 +25,7 @@ tracing.workspace = true
|
||||
tracing-subscriber.workspace = true
|
||||
rand.workspace = true
|
||||
home.workspace = true
|
||||
nostr-sdk = { version = "0.32.0", default-features = false, features = [
|
||||
nostr-sdk = { version = "0.33.0", default-features = false, features = [
|
||||
"nip04",
|
||||
"nip44"
|
||||
]}
|
||||
|
||||
@@ -15,7 +15,7 @@ default = ["wallet"]
|
||||
wallet = ["cdk/wallet"]
|
||||
|
||||
[dependencies]
|
||||
rexie = "0.5.0"
|
||||
rexie = "0.6.0"
|
||||
cdk = { workspace = true, default-features = false }
|
||||
async-trait.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -46,6 +46,9 @@ pub enum Error {
|
||||
/// NUT00 Error
|
||||
#[error(transparent)]
|
||||
NUT00(cdk::nuts::nut00::Error),
|
||||
#[error("Not found")]
|
||||
/// Not Found
|
||||
NotFound,
|
||||
}
|
||||
impl From<Error> for cdk::cdk_database::Error {
|
||||
fn from(e: Error) -> Self {
|
||||
@@ -149,7 +152,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let mint_url = serde_wasm_bindgen::to_value(&mint_url).map_err(Error::from)?;
|
||||
|
||||
mints_store.delete(&mint_url).await.map_err(Error::from)?;
|
||||
mints_store.delete(mint_url).await.map_err(Error::from)?;
|
||||
|
||||
transaction.done().await.map_err(Error::from)?;
|
||||
|
||||
@@ -166,10 +169,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let mints_store = transaction.store(MINTS).map_err(Error::from)?;
|
||||
|
||||
let mint_url = serde_wasm_bindgen::to_value(&mint_url).map_err(Error::from)?;
|
||||
let mint_info = mints_store.get(&mint_url).await.map_err(Error::from)?;
|
||||
|
||||
let mint_info: Option<MintInfo> =
|
||||
serde_wasm_bindgen::from_value(mint_info).map_err(Error::from)?;
|
||||
let mint_info = mints_store
|
||||
.get(mint_url)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|m| serde_wasm_bindgen::from_value(m).ok());
|
||||
|
||||
Ok(mint_info)
|
||||
}
|
||||
@@ -184,7 +188,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let mints_store = transaction.store(MINTS).map_err(Error::from)?;
|
||||
|
||||
let mints = mints_store
|
||||
.get_all(None, None, None, None)
|
||||
.scan(None, None, None, None)
|
||||
.await
|
||||
.map_err(Error::from)?;
|
||||
|
||||
@@ -265,13 +269,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let mint_url = serde_wasm_bindgen::to_value(&mint_url).map_err(Error::from)?;
|
||||
|
||||
let mint_keysets = mint_keysets_store
|
||||
.get(&mint_url)
|
||||
let mut mint_keysets = mint_keysets_store
|
||||
.get(mint_url.clone())
|
||||
.await
|
||||
.map_err(Error::from)?;
|
||||
|
||||
let mut mint_keysets: Option<HashSet<Id>> =
|
||||
serde_wasm_bindgen::from_value(mint_keysets).map_err(Error::from)?;
|
||||
.map_err(Error::from)?
|
||||
.and_then(|m| serde_wasm_bindgen::from_value(m).ok());
|
||||
|
||||
let new_keyset_ids: Vec<Id> = keysets.iter().map(|k| k.id).collect();
|
||||
|
||||
@@ -315,10 +317,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let mints_store = transaction.store(MINT_KEYSETS).map_err(Error::from)?;
|
||||
|
||||
let mint_url = serde_wasm_bindgen::to_value(&mint_url).map_err(Error::from)?;
|
||||
let mint_keysets = mints_store.get(&mint_url).await.map_err(Error::from)?;
|
||||
|
||||
let mint_keysets: Option<HashSet<Id>> =
|
||||
serde_wasm_bindgen::from_value(mint_keysets).map_err(Error::from)?;
|
||||
let mint_keysets: Option<HashSet<Id>> = mints_store
|
||||
.get(mint_url)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|m| serde_wasm_bindgen::from_value(m).ok());
|
||||
|
||||
let keysets_store = transaction.store(KEYSETS).map_err(Error::from)?;
|
||||
|
||||
@@ -329,13 +332,17 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
for mint_keyset in mint_keysets {
|
||||
let id = serde_wasm_bindgen::to_value(&mint_keyset).map_err(Error::from)?;
|
||||
|
||||
let keyset = keysets_store.get(&id).await.map_err(Error::from)?;
|
||||
|
||||
let keyset = serde_wasm_bindgen::from_value(keyset).map_err(Error::from)?;
|
||||
let keyset = keysets_store
|
||||
.get(id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|k| serde_wasm_bindgen::from_value(k).ok());
|
||||
|
||||
keysets.push(keyset);
|
||||
}
|
||||
|
||||
let keysets = keysets.iter().flatten().cloned().collect();
|
||||
|
||||
Some(keysets)
|
||||
}
|
||||
None => None,
|
||||
@@ -356,9 +363,13 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let keyset_id = serde_wasm_bindgen::to_value(keyset_id).map_err(Error::from)?;
|
||||
|
||||
let keyset = keysets_store.get(&keyset_id).await.map_err(Error::from)?;
|
||||
let keyset = keysets_store
|
||||
.get(keyset_id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|k| serde_wasm_bindgen::from_value(k).ok());
|
||||
|
||||
Ok(serde_wasm_bindgen::from_value(keyset).map_err(Error::from)?)
|
||||
Ok(keyset)
|
||||
}
|
||||
|
||||
async fn add_mint_quote(&self, quote: MintQuote) -> Result<(), Self::Err> {
|
||||
@@ -393,10 +404,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let quotes_store = transaction.store(MINT_QUOTES).map_err(Error::from)?;
|
||||
|
||||
let quote_id = serde_wasm_bindgen::to_value("e_id).map_err(Error::from)?;
|
||||
let quote = quotes_store.get("e_id).await.map_err(Error::from)?;
|
||||
|
||||
let quote: Option<MintQuote> =
|
||||
serde_wasm_bindgen::from_value(quote).map_err(Error::from)?;
|
||||
let quote = quotes_store
|
||||
.get(quote_id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|q| serde_wasm_bindgen::from_value(q).ok());
|
||||
|
||||
Ok(quote)
|
||||
}
|
||||
@@ -411,7 +423,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let quotes_store = transaction.store(MINT_QUOTES).map_err(Error::from)?;
|
||||
|
||||
let quotes = quotes_store
|
||||
.get_all(None, None, None, None)
|
||||
.scan(None, None, None, None)
|
||||
.await
|
||||
.map_err(Error::from)?;
|
||||
|
||||
@@ -432,7 +444,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let quote_id = serde_wasm_bindgen::to_value("e_id).map_err(Error::from)?;
|
||||
|
||||
quotes_store.delete("e_id).await.map_err(Error::from)?;
|
||||
quotes_store.delete(quote_id).await.map_err(Error::from)?;
|
||||
|
||||
transaction.done().await.map_err(Error::from)?;
|
||||
|
||||
@@ -471,10 +483,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let quotes_store = transaction.store(MELT_QUOTES).map_err(Error::from)?;
|
||||
|
||||
let quote_id = serde_wasm_bindgen::to_value("e_id).map_err(Error::from)?;
|
||||
let keysets = quotes_store.get("e_id).await.map_err(Error::from)?;
|
||||
|
||||
let quote: Option<MeltQuote> =
|
||||
serde_wasm_bindgen::from_value(keysets).map_err(Error::from)?;
|
||||
let quote = quotes_store
|
||||
.get(quote_id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|q| serde_wasm_bindgen::from_value(q).ok());
|
||||
|
||||
Ok(quote)
|
||||
}
|
||||
@@ -490,7 +503,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let quote_id = serde_wasm_bindgen::to_value("e_id).map_err(Error::from)?;
|
||||
|
||||
quotes_store.delete("e_id).await.map_err(Error::from)?;
|
||||
quotes_store.delete(quote_id).await.map_err(Error::from)?;
|
||||
|
||||
transaction.done().await.map_err(Error::from)?;
|
||||
|
||||
@@ -529,9 +542,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let keys_store = transaction.store(MINT_KEYS).map_err(Error::from)?;
|
||||
|
||||
let keyset_id = serde_wasm_bindgen::to_value(id).map_err(Error::from)?;
|
||||
let keys = keys_store.get(&keyset_id).await.map_err(Error::from)?;
|
||||
|
||||
let keys: Option<Keys> = serde_wasm_bindgen::from_value(keys).map_err(Error::from)?;
|
||||
let keys = keys_store
|
||||
.get(keyset_id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|k| serde_wasm_bindgen::from_value(k).ok());
|
||||
|
||||
Ok(keys)
|
||||
}
|
||||
@@ -546,7 +561,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let keys_store = transaction.store(MINT_KEYS).map_err(Error::from)?;
|
||||
|
||||
let keyset_id = serde_wasm_bindgen::to_value(id).map_err(Error::from)?;
|
||||
keys_store.delete(&keyset_id).await.map_err(Error::from)?;
|
||||
keys_store.delete(keyset_id).await.map_err(Error::from)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
@@ -592,7 +607,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let proofs_store = transaction.store(PROOFS).map_err(Error::from)?;
|
||||
|
||||
let proofs = proofs_store
|
||||
.get_all(None, None, None, None)
|
||||
.scan(None, None, None, None)
|
||||
.await
|
||||
.map_err(Error::from)?;
|
||||
|
||||
@@ -634,7 +649,7 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
for proof in proofs {
|
||||
let y = serde_wasm_bindgen::to_value(&proof.y()?).map_err(Error::from)?;
|
||||
|
||||
proofs_store.delete(&y).await.map_err(Error::from)?;
|
||||
proofs_store.delete(y).await.map_err(Error::from)?;
|
||||
}
|
||||
|
||||
transaction.done().await.map_err(Error::from)?;
|
||||
@@ -653,8 +668,12 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let y = serde_wasm_bindgen::to_value(&y).map_err(Error::from)?;
|
||||
|
||||
let proof = proofs_store.get(&y).await.map_err(Error::from)?;
|
||||
let mut proof: ProofInfo = serde_wasm_bindgen::from_value(proof).map_err(Error::from)?;
|
||||
let mut proof: ProofInfo = proofs_store
|
||||
.get(y.clone())
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|p| serde_wasm_bindgen::from_value(p).ok())
|
||||
.ok_or(Error::NotFound)?;
|
||||
|
||||
proof.state = state;
|
||||
|
||||
@@ -681,9 +700,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let keyset_id = serde_wasm_bindgen::to_value(keyset_id).map_err(Error::from)?;
|
||||
|
||||
let current_count = counter_store.get(&keyset_id).await.map_err(Error::from)?;
|
||||
let current_count: Option<u32> =
|
||||
serde_wasm_bindgen::from_value(current_count).map_err(Error::from)?;
|
||||
let current_count: Option<u32> = counter_store
|
||||
.get(keyset_id.clone())
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|c| serde_wasm_bindgen::from_value(c).ok());
|
||||
|
||||
let new_count = current_count.unwrap_or_default() + count;
|
||||
|
||||
@@ -710,9 +731,11 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
|
||||
let keyset_id = serde_wasm_bindgen::to_value(keyset_id).map_err(Error::from)?;
|
||||
|
||||
let current_count = counter_store.get(&keyset_id).await.map_err(Error::from)?;
|
||||
let current_count: Option<u32> =
|
||||
serde_wasm_bindgen::from_value(current_count).map_err(Error::from)?;
|
||||
let current_count = counter_store
|
||||
.get(keyset_id)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
.and_then(|c| serde_wasm_bindgen::from_value(c).ok());
|
||||
|
||||
Ok(current_count)
|
||||
}
|
||||
@@ -759,11 +782,10 @@ impl WalletDatabase for WalletRexieDatabase {
|
||||
let verifying_key = serde_wasm_bindgen::to_value(verifying_key).map_err(Error::from)?;
|
||||
|
||||
let last_checked = nostr_last_check_store
|
||||
.get(&verifying_key)
|
||||
.get(verifying_key)
|
||||
.await
|
||||
.map_err(Error::from)?;
|
||||
let last_checked: Option<u32> =
|
||||
serde_wasm_bindgen::from_value(last_checked).map_err(Error::from)?;
|
||||
.map_err(Error::from)?
|
||||
.and_then(|l| serde_wasm_bindgen::from_value(l).ok());
|
||||
|
||||
Ok(last_checked)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user