From 64d1c48bb15b3f0864d9eb11f7d124973ce2b84c Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Tue, 19 Jul 2022 13:23:49 -0700 Subject: [PATCH] log persist errors --- persister/Cargo.toml | 1 + persister/src/lib.rs | 16 ++++++++++++---- signer/src/lib.rs | 12 +++++++----- sphinx-key/run.sh | 4 ++++ sphinx-key/src/main.rs | 2 +- sphinx-key/src/periph/sd.rs | 1 - 6 files changed, 25 insertions(+), 11 deletions(-) diff --git a/persister/Cargo.toml b/persister/Cargo.toml index d2eb61c..24617ce 100644 --- a/persister/Cargo.toml +++ b/persister/Cargo.toml @@ -11,3 +11,4 @@ lightning-signer-server = { git = "https://gitlab.com/Evanfeenstra/validating-li serde = { version = "1.0.105" } hex = "0.4.3" fsdb = "0.1.9" +log = "0.4" diff --git a/persister/src/lib.rs b/persister/src/lib.rs index 13d0aea..bc31c23 100644 --- a/persister/src/lib.rs +++ b/persister/src/lib.rs @@ -67,7 +67,8 @@ impl Persist for FsPersister { let chan_id = hex::encode(get_channel_key(stub.id0.as_slice())); // should not exist if let Ok(_) = self.channels.get(&pk, &chan_id) { - return Err(()); // already exists + log::error!("persister: failed to create new_channel: already exists"); + // return Err(()); // already exists } let entry = ChannelEntry { id: Some(stub.id0.clone()), @@ -95,7 +96,10 @@ impl Persist for FsPersister { let pk = hex::encode(node_id.serialize()); let ret: ChainTrackerEntry = match self.chaintracker.get(&pk) { Ok(ct) => ct, - Err(_) => return Err(()), + Err(_) => { + log::error!("persister: failed to get_tracker"); + return Err(()); + } }; Ok(ret.into()) } @@ -104,7 +108,8 @@ impl Persist for FsPersister { let chan_id = hex::encode(get_channel_key(channel.id0.as_slice())); // should exist if let Err(_) = self.channels.get(&pk, &chan_id) { - return Err(()); // not found + log::error!("persister: failed to update_channel"); + // return Err(()); // not found } let entry = ChannelEntry { id: Some(channel.id0.clone()), @@ -124,7 +129,10 @@ impl Persist for FsPersister { let chan_id = hex::encode(get_channel_key(channel_id.as_slice())); let ret: ChannelEntry = match self.channels.get(&pk, &chan_id) { Ok(ce) => ce, - Err(_) => return Err(()), + Err(_) => { + log::error!("persister: failed to get_channel"); + return Err(()); + } }; Ok(ret.into()) } diff --git a/signer/src/lib.rs b/signer/src/lib.rs index 72e594b..34cd0ca 100644 --- a/signer/src/lib.rs +++ b/signer/src/lib.rs @@ -1,24 +1,26 @@ -use lightning_signer::persist::Persist; +use lightning_signer::persist::{DummyPersister, Persist}; use std::sync::Arc; use vls_protocol::model::PubKey; use vls_protocol::msgs::{self, read_serial_request_header, write_serial_response_header, Message}; use vls_protocol::serde_bolt::WireString; use vls_protocol_signer::handler::{Handler, RootHandler}; +pub use sphinx_key_parser::MsgDriver; +pub use sphinx_key_persister::FsPersister; pub use vls_protocol_signer::lightning_signer; pub use vls_protocol_signer::lightning_signer::bitcoin::Network; pub use vls_protocol_signer::vls_protocol; -pub use sphinx_key_parser::MsgDriver; -pub use sphinx_key_persister::FsPersister; pub struct InitResponse { pub root_handler: RootHandler, pub init_reply: Vec, } +pub const ROOT_STORE: &str = "/sdcard/store"; + pub fn init(bytes: Vec, network: Network) -> anyhow::Result { - //let persister: Arc = Arc::new(DummyPersister); - let persister: Arc = Arc::new(FsPersister::new("/sdcard/store")); + // let persister: Arc = Arc::new(DummyPersister); + let persister: Arc = Arc::new(FsPersister::new(ROOT_STORE)); let mut md = MsgDriver::new(bytes); let (sequence, dbid) = read_serial_request_header(&mut md).expect("read init header"); assert_eq!(dbid, 0); diff --git a/sphinx-key/run.sh b/sphinx-key/run.sh index d447cd8..b3bb6eb 100755 --- a/sphinx-key/run.sh +++ b/sphinx-key/run.sh @@ -1,3 +1,7 @@ +CFLAGS=-fno-pic + +CC=$PWD/.embuild/espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc + cargo +nightly build --release esptool.py --chip esp32c3 elf2image target/riscv32imc-esp-espidf/release/sphinx-key diff --git a/sphinx-key/src/main.rs b/sphinx-key/src/main.rs index d06d19d..df8dd6b 100644 --- a/sphinx-key/src/main.rs +++ b/sphinx-key/src/main.rs @@ -44,7 +44,7 @@ fn main() -> Result<()> { // sd card sd_card(); - simple_fs_test(); + // simple_fs_test(); let default_nvs = Arc::new(EspDefaultNvs::new()?); let mut store = diff --git a/sphinx-key/src/periph/sd.rs b/sphinx-key/src/periph/sd.rs index c2f06be..f87df42 100644 --- a/sphinx-key/src/periph/sd.rs +++ b/sphinx-key/src/periph/sd.rs @@ -21,7 +21,6 @@ const SPI_GPIO_CLK: gpio_num_t = 5; const SPI_GPIO_MISO: gpio_num_t = 6; const SPI_GPIO_CS: gpio_num_t = 1; - bitflags! { struct SDMMCHostFlag: u32 { /// host supports 1-line SD and MMC protocol