diff --git a/sphinx-key/Cargo.lock b/sphinx-key/Cargo.lock index a03c828..79dc5c5 100644 --- a/sphinx-key/Cargo.lock +++ b/sphinx-key/Cargo.lock @@ -203,7 +203,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bolt-derive" version = "0.1.0" -source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4#53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4" +source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=b355d2235b4ff0a223820e16889ba9cf939c0752#b355d2235b4ff0a223820e16889ba9cf939c0752" dependencies = [ "proc-macro2", "quote", @@ -1313,7 +1313,7 @@ dependencies = [ [[package]] name = "lss-connector" version = "0.1.0" -source = "git+https://github.com/stakwork/sphinx-rs.git#275f09e004169fdc068af22a5b35f2fd1a6930cf" +source = "git+https://github.com/stakwork/sphinx-rs.git#a8f6f73d104c69304da808132b5740c3d98015e2" dependencies = [ "anyhow", "log", @@ -1965,7 +1965,7 @@ dependencies = [ [[package]] name = "sphinx-auther" version = "0.1.12" -source = "git+https://github.com/stakwork/sphinx-rs.git#275f09e004169fdc068af22a5b35f2fd1a6930cf" +source = "git+https://github.com/stakwork/sphinx-rs.git#a8f6f73d104c69304da808132b5740c3d98015e2" dependencies = [ "anyhow", "base64", @@ -1977,7 +1977,7 @@ dependencies = [ [[package]] name = "sphinx-crypter" version = "0.1.0" -source = "git+https://github.com/stakwork/sphinx-rs.git#aa4a462f3fce8ecb03201a64c9d5ae785634a3e5" +source = "git+https://github.com/stakwork/sphinx-rs.git#a8f6f73d104c69304da808132b5740c3d98015e2" dependencies = [ "anyhow", "chacha20poly1305", @@ -1988,7 +1988,7 @@ dependencies = [ [[package]] name = "sphinx-glyph" version = "0.1.2" -source = "git+https://github.com/stakwork/sphinx-rs.git#275f09e004169fdc068af22a5b35f2fd1a6930cf" +source = "git+https://github.com/stakwork/sphinx-rs.git#a8f6f73d104c69304da808132b5740c3d98015e2" dependencies = [ "anyhow", "hex", @@ -2025,7 +2025,7 @@ dependencies = [ [[package]] name = "sphinx-signer" version = "0.1.0" -source = "git+https://github.com/stakwork/sphinx-rs.git#275f09e004169fdc068af22a5b35f2fd1a6930cf" +source = "git+https://github.com/stakwork/sphinx-rs.git#a8f6f73d104c69304da808132b5740c3d98015e2" dependencies = [ "anyhow", "bip39", @@ -2385,7 +2385,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "vls-core" version = "0.9.0" -source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4#53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4" +source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=b355d2235b4ff0a223820e16889ba9cf939c0752#b355d2235b4ff0a223820e16889ba9cf939c0752" dependencies = [ "anyhow", "bitcoin", @@ -2407,7 +2407,7 @@ dependencies = [ [[package]] name = "vls-persist" version = "0.9.0" -source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4#53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4" +source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=b355d2235b4ff0a223820e16889ba9cf939c0752#b355d2235b4ff0a223820e16889ba9cf939c0752" dependencies = [ "hex", "log", @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "vls-protocol" version = "0.9.0" -source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4#53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4" +source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=b355d2235b4ff0a223820e16889ba9cf939c0752#b355d2235b4ff0a223820e16889ba9cf939c0752" dependencies = [ "as-any", "bolt-derive", @@ -2434,7 +2434,7 @@ dependencies = [ [[package]] name = "vls-protocol-signer" version = "0.9.0" -source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4#53e6c4beac81f6b450af0bde3d8e1ad6883aa0a4" +source = "git+https://gitlab.com/lightning-signer/validating-lightning-signer.git?rev=b355d2235b4ff0a223820e16889ba9cf939c0752#b355d2235b4ff0a223820e16889ba9cf939c0752" dependencies = [ "bit-vec", "log", diff --git a/sphinx-key/src/core/events.rs b/sphinx-key/src/core/events.rs index 16d4b76..00cb246 100644 --- a/sphinx-key/src/core/events.rs +++ b/sphinx-key/src/core/events.rs @@ -88,7 +88,7 @@ pub fn make_event_loop( config: Config, seed: [u8; 32], policy: &Policy, - velocity: &Velocity, + velocity: &Option, mut ctrlr: Controller, client_id: &str, node_id: &PublicKey, @@ -111,13 +111,27 @@ pub fn make_event_loop( // let persister = Arc::new(ThreadMemoPersister {}); 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 lss_persister = ThreadMemoPersister {}; let persister = Arc::new(BackupPersister::new(sd_persister, lss_persister)); // initialize the RootHandler - let (rhb, approver) = - sphinx_signer::root::builder(seed, network, policy, velocity, persister, node_id) - .expect("failed to init signer"); + let (rhb, approver) = sphinx_signer::root::builder( + seed, + network, + policy.clone(), + velocity.clone(), + initial_allowlist, + persister, + ) + .expect("failed to init signer"); // FIXME it right to restart here? let (root_handler, lss_signer) = match lss::init_lss(client_id, &rx, rhb, &mut mqtt) { @@ -285,7 +299,7 @@ pub fn make_event_loop( _config: Config, _seed: [u8; 32], _policy: &Policy, - _velocity: &Velocity, + _velocity: &Option, mut _ctrlr: Controller, client_id: &str, _node_id: &PublicKey, diff --git a/sphinx-key/src/main.rs b/sphinx-key/src/main.rs index 6b4853c..835824f 100644 --- a/sphinx-key/src/main.rs +++ b/sphinx-key/src/main.rs @@ -66,7 +66,7 @@ fn main() -> Result<()> { if let Ok(exist) = flash.read_config() { let seed = flash.read_seed().expect("no seed..."); let policy = flash.read_policy().unwrap_or_default(); - let velocity = flash.read_velocity().unwrap_or_default(); + let velocity = flash.read_velocity().ok(); println!( "=============> START CLIENT NOW <============== {:?}", exist @@ -133,7 +133,7 @@ fn make_and_launch_client( config: Config, seed: [u8; 32], policy: &Policy, - velocity: &Velocity, + velocity: &Option, led_tx: mpsc::Sender, flash: Arc>, ) -> anyhow::Result<()> {