kvv store in esp32

This commit is contained in:
Evan Feenstra
2023-09-11 15:04:00 -07:00
parent 7ec4a6065b
commit 8e45596eeb
3 changed files with 37 additions and 32 deletions

26
Cargo.lock generated
View File

@@ -249,7 +249,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bolt-derive"
version = "0.2.0"
source = "git+https://gitlab.com/evanfeenstra1/validating-lightning-signer.git?rev=dbaeb29b51f399ce993923cca3ef218b2029cd11#dbaeb29b51f399ce993923cca3ef218b2029cd11"
source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=d7303c26a93d95dc09eb403a221f885b954883ed#d7303c26a93d95dc09eb403a221f885b954883ed"
dependencies = [
"proc-macro2",
"quote",
@@ -818,8 +818,8 @@ dependencies = [
[[package]]
name = "fsdb"
version = "0.1.11"
source = "git+https://github.com/Evanfeenstra/fsdb.git?rev=78e174941ea0a373c2bb0ef518317b40ac80abf9#78e174941ea0a373c2bb0ef518317b40ac80abf9"
version = "0.1.15"
source = "git+https://github.com/Evanfeenstra/fsdb.git?rev=13f66653ec3c14280fc8ab330108c710c1df3006#13f66653ec3c14280fc8ab330108c710c1df3006"
dependencies = [
"rmp-serde",
"serde",
@@ -1219,7 +1219,7 @@ checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
[[package]]
name = "lss-connector"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"log",
@@ -1591,7 +1591,7 @@ dependencies = [
[[package]]
name = "rmp-utils"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"log",
@@ -1798,7 +1798,7 @@ dependencies = [
[[package]]
name = "sphinx-auther"
version = "0.1.12"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"base64 0.21.2",
@@ -1810,7 +1810,7 @@ dependencies = [
[[package]]
name = "sphinx-crypter"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"chacha20poly1305",
@@ -1821,7 +1821,7 @@ dependencies = [
[[package]]
name = "sphinx-glyph"
version = "0.1.2"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"hex",
@@ -1872,7 +1872,7 @@ dependencies = [
[[package]]
name = "sphinx-signer"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=0d5c40f4087adde7e32e789a88900c5c9ba3b5ab#0d5c40f4087adde7e32e789a88900c5c9ba3b5ab"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=b6352712939dfdb1fd81cdd410f902744d64e095#b6352712939dfdb1fd81cdd410f902744d64e095"
dependencies = [
"anyhow",
"bip39",
@@ -2154,7 +2154,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "vls-core"
version = "0.10.0"
source = "git+https://gitlab.com/evanfeenstra1/validating-lightning-signer.git?rev=dbaeb29b51f399ce993923cca3ef218b2029cd11#dbaeb29b51f399ce993923cca3ef218b2029cd11"
source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=d7303c26a93d95dc09eb403a221f885b954883ed#d7303c26a93d95dc09eb403a221f885b954883ed"
dependencies = [
"anyhow",
"bitcoin",
@@ -2178,7 +2178,7 @@ dependencies = [
[[package]]
name = "vls-persist"
version = "0.10.0"
source = "git+https://gitlab.com/evanfeenstra1/validating-lightning-signer.git?rev=dbaeb29b51f399ce993923cca3ef218b2029cd11#dbaeb29b51f399ce993923cca3ef218b2029cd11"
source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=d7303c26a93d95dc09eb403a221f885b954883ed#d7303c26a93d95dc09eb403a221f885b954883ed"
dependencies = [
"hex",
"log",
@@ -2191,7 +2191,7 @@ dependencies = [
[[package]]
name = "vls-protocol"
version = "0.10.0"
source = "git+https://gitlab.com/evanfeenstra1/validating-lightning-signer.git?rev=dbaeb29b51f399ce993923cca3ef218b2029cd11#dbaeb29b51f399ce993923cca3ef218b2029cd11"
source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=d7303c26a93d95dc09eb403a221f885b954883ed#d7303c26a93d95dc09eb403a221f885b954883ed"
dependencies = [
"as-any",
"bitcoin-consensus-derive",
@@ -2204,7 +2204,7 @@ dependencies = [
[[package]]
name = "vls-protocol-signer"
version = "0.10.0"
source = "git+https://gitlab.com/evanfeenstra1/validating-lightning-signer.git?rev=dbaeb29b51f399ce993923cca3ef218b2029cd11#dbaeb29b51f399ce993923cca3ef218b2029cd11"
source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=d7303c26a93d95dc09eb403a221f885b954883ed#d7303c26a93d95dc09eb403a221f885b954883ed"
dependencies = [
"bit-vec",
"log",

View File

@@ -19,11 +19,11 @@ serde_json = { version = "1.0.81", default-features = false }
serde_urlencoded = "0.7.1"
url = "2"
lss-connector = { git = "https://github.com/stakwork/sphinx-rs.git", default-features = false, rev = "0d5c40f4087adde7e32e789a88900c5c9ba3b5ab" }
lss-connector = { git = "https://github.com/stakwork/sphinx-rs.git", default-features = false, rev = "b6352712939dfdb1fd81cdd410f902744d64e095" }
# lss-connector = { path = "../../sphinx-rs/lss-connector", default-features = false }
sphinx-crypter = { git = "https://github.com/stakwork/sphinx-rs.git", rev = "0d5c40f4087adde7e32e789a88900c5c9ba3b5ab" }
sphinx-crypter = { git = "https://github.com/stakwork/sphinx-rs.git", rev = "b6352712939dfdb1fd81cdd410f902744d64e095" }
# sphinx-crypter = { path = "../../sphinx-rs/crypter" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs.git", optional = true, rev = "0d5c40f4087adde7e32e789a88900c5c9ba3b5ab" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs.git", optional = true, rev = "b6352712939dfdb1fd81cdd410f902744d64e095" }
# sphinx-signer = { path = "../../sphinx-rs/signer", optional = true }
anyhow.workspace = true

View File

@@ -11,8 +11,8 @@ use lss_connector::secp256k1::PublicKey;
use sphinx_signer::approver::SphinxApprover;
use sphinx_signer::lightning_signer::bitcoin::Network;
//use sphinx_signer::lightning_signer::persist::DummyPersister;
use sphinx_signer::kvv::{CloudKVVStore, FsKVVStore};
use sphinx_signer::lightning_signer::persist::Persist;
use sphinx_signer::persist::{BackupPersister, FsPersister, ThreadMemoPersister};
use sphinx_signer::root::VlsHandlerError;
use sphinx_signer::sphinx_glyph as glyph;
use sphinx_signer::{self, RootHandler};
@@ -99,25 +99,30 @@ pub fn make_event_loop(
}
}
// create the fs persister
// 8 character max file names
// let persister: Arc<dyn Persist> = Arc::new(FsPersister::new(&ROOT_STORE, Some(8)));
// let persister = Arc::new(ThreadMemoPersister {});
let kvv_store = FsKVVStore::new(&ROOT_STORE, Some(8)).0;
let fs_persister = CloudKVVStore::new(kvv_store);
//let sd_persister = DummyPersister {};
//let initial_allowlist = Vec::new();
let sd_persister = FsPersister::new(&ROOT_STORE, Some(8));
let initial_allowlist = match sd_persister.get_node_allowlist(node_id) {
Ok(al) => al,
Err(_) => {
log::warn!("no allowlist found in fs persister!");
Vec::new()
let _ = fs_persister.enter();
let initial_allowlist = match fs_persister.get_nodes() {
Ok(ns) => {
if !ns.is_empty() {
match fs_persister.get_node_allowlist(&node_id) {
Ok(al) => al,
Err(_) => {
log::warn!("no allowlist found in fs persister!");
Vec::new()
}
}
} else {
Vec::new()
}
}
Err(_) => Vec::new(),
};
let _ = fs_persister.prepare();
let _ = fs_persister.commit();
let lss_persister = ThreadMemoPersister {};
let persister = Arc::new(BackupPersister::new(sd_persister, lss_persister));
let persister = Arc::new(fs_persister);
// initialize the RootHandler
let (rhb, approver) = sphinx_signer::root::builder(