Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Commit df21fb8

Browse files
committed
Remove needed for passsword to get logs
1 parent 6b4191d commit df21fb8

3 files changed

Lines changed: 33 additions & 29 deletions

File tree

mutiny-core/src/logging.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use hex_conservative::DisplayHex;
1111
use lightning::util::logger::{Level, Logger, Record};
1212
use log::*;
1313

14-
pub(crate) const LOGGING_KEY: &str = "logs";
14+
pub const LOGGING_KEY: &str = "logs";
1515

1616
const MAX_LOG_ITEMS: usize = 10_000;
1717

mutiny-wasm/src/indexed_db.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use gloo_utils::format::JsValueSerdeExt;
66
use lightning::util::logger::Logger;
77
use lightning::{log_debug, log_error, log_trace};
88
use log::error;
9+
use mutiny_core::logging::LOGGING_KEY;
910
use mutiny_core::storage::*;
1011
use mutiny_core::vss::*;
1112
use mutiny_core::*;
@@ -140,6 +141,31 @@ impl IndexedDbStorage {
140141
Ok(res)
141142
}
142143

144+
pub(crate) async fn get_logs() -> Result<Option<Vec<String>>, MutinyError> {
145+
let indexed_db = Self::build_indexed_db_database().await?;
146+
let tx = indexed_db
147+
.transaction(&[WALLET_OBJECT_STORE_NAME], TransactionMode::ReadOnly)
148+
.map_err(|e| {
149+
MutinyError::read_err(
150+
anyhow!("Failed to create indexed db transaction: {e}").into(),
151+
)
152+
})?;
153+
154+
let store = tx.store(WALLET_OBJECT_STORE_NAME).map_err(|e| {
155+
MutinyError::read_err(anyhow!("Failed to create indexed db store: {e}").into())
156+
})?;
157+
158+
let key = JsValue::from(LOGGING_KEY);
159+
let read = store
160+
.get(&key)
161+
.await
162+
.map_err(|_| MutinyError::read_err(MutinyStorageError::IndexedDBError))?;
163+
164+
let result: Option<Vec<String>> = read.into_serde()?;
165+
166+
Ok(result)
167+
}
168+
143169
async fn save_to_indexed_db(
144170
indexed_db: &Arc<RwLock<RexieContainer>>,
145171
items: &[(String, Value)],

mutiny-wasm/src/lib.rs

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,9 @@ use mutiny_core::{
4747
use mutiny_core::{logging::MutinyLogger, nostr::ProfileType};
4848
use nostr::key::{FromSkStr, Secp256k1, SecretKey};
4949
use nostr::{FromBech32, Keys, ToBech32};
50+
use std::collections::HashMap;
5051
use std::str::FromStr;
5152
use std::sync::Arc;
52-
use std::{
53-
collections::HashMap,
54-
sync::atomic::{AtomicBool, Ordering},
55-
};
5653
use wasm_bindgen::prelude::*;
5754

5855
static INITIALIZED: once_cell::sync::Lazy<Mutex<bool>> =
@@ -1356,26 +1353,9 @@ impl MutinyWallet {
13561353

13571354
/// Exports the current state of the node manager to a json object.
13581355
#[wasm_bindgen]
1359-
pub async fn get_logs(
1360-
password: Option<String>,
1361-
) -> Result<JsValue /* Option<Vec<String>> */, MutinyJsError> {
1362-
let logger = Arc::new(MutinyLogger::default());
1363-
// TODO Password should not be required for logs
1364-
let cipher = password
1365-
.as_ref()
1366-
.filter(|p| !p.is_empty())
1367-
.map(|p| encryption_key_from_pass(p))
1368-
.transpose()?;
1369-
let storage = IndexedDbStorage::new(password, cipher, None, logger.clone()).await?;
1370-
let stop = Arc::new(AtomicBool::new(false));
1371-
let logger = Arc::new(MutinyLogger::with_writer(
1372-
stop.clone(),
1373-
storage.clone(),
1374-
None,
1375-
));
1376-
let res = JsValue::from_serde(&NodeManager::get_logs(storage, logger)?)?;
1377-
stop.swap(true, Ordering::Relaxed);
1378-
Ok(res)
1356+
pub async fn get_logs() -> Result<JsValue /* Option<Vec<String>> */, MutinyJsError> {
1357+
let logs = IndexedDbStorage::get_logs().await?;
1358+
Ok(JsValue::from_serde(&logs)?)
13791359
}
13801360

13811361
/// Get nostr wallet connect profiles
@@ -2269,7 +2249,7 @@ mod tests {
22692249

22702250
// sleep to make sure logs save
22712251
sleep(6_000).await;
2272-
let logs = MutinyWallet::get_logs(None).await.expect("should get logs");
2252+
let logs = MutinyWallet::get_logs().await.expect("should get logs");
22732253
let parsed_logs = js_to_option_vec_string(logs).expect("should parse logs");
22742254
assert!(parsed_logs.is_some());
22752255
assert!(!parsed_logs.clone().unwrap().is_empty());
@@ -2326,9 +2306,7 @@ mod tests {
23262306

23272307
// sleep to make sure logs save
23282308
sleep(6_000).await;
2329-
let logs = MutinyWallet::get_logs(password)
2330-
.await
2331-
.expect("should get logs");
2309+
let logs = MutinyWallet::get_logs().await.expect("should get logs");
23322310
let parsed_logs = js_to_option_vec_string(logs).expect("should parse logs");
23332311
assert!(parsed_logs.is_some());
23342312
assert!(!parsed_logs.clone().unwrap().is_empty());

0 commit comments

Comments
 (0)