chain tracker froontend in mqtt broker

This commit is contained in:
Evan Feenstra
2022-06-27 17:02:11 -07:00
parent f31a3becf0
commit 2f92844e62
4 changed files with 65 additions and 6 deletions

View File

@@ -6,13 +6,17 @@ mod unix_fd;
mod util;
use crate::mqtt::start_broker;
use crate::unix_fd::SignerLoop;
use clap::{App, AppSettings, Arg, arg};
use crate::unix_fd::{MqttSignerPort, SignerLoop};
use bitcoin::Network;
use clap::{arg, App, AppSettings, Arg};
use std::env;
use std::sync::Arc;
use tokio::sync::{mpsc, oneshot};
use url::Url;
use vls_frontend::Frontend;
use vls_proxy::client::UnixClient;
use vls_proxy::connection::{open_parent_fd, UnixConnection};
use bitcoin::Network;
use vls_proxy::portfront::SignerPortFront;
pub struct Channel {
pub sequence: u16,
@@ -53,9 +57,8 @@ fn main() -> anyhow::Result<()> {
.help("bitcoin network")
.long("network")
.value_parser(["regtest", "signet", "testnet", "mainnet", "bitcoin"])
.default_value("regtest")
.default_value("regtest"),
);
let matches = app.get_matches();
@@ -84,7 +87,7 @@ fn main() -> anyhow::Result<()> {
let (tx, rx) = mpsc::channel(1000);
let (status_tx, mut status_rx) = mpsc::channel(1000);
log::info!("=> start broker");
let _runtime = start_broker(rx, status_tx, "sphinx-1");
let runtime = start_broker(rx, status_tx, "sphinx-1");
log::info!("=> wait for connected status");
// wait for connection = true
let status = status_rx.blocking_recv().expect("couldnt receive");
@@ -94,6 +97,18 @@ fn main() -> anyhow::Result<()> {
init::blocking_connect(tx.clone(), network);
log::info!("=====> sent seed!");
if let Ok(btc_url) = env::var("BITCOIND_RPC_URL") {
let signer_port = MqttSignerPort::new(tx.clone());
let frontend = Frontend::new(
Arc::new(SignerPortFront {
signer_port: Box::new(signer_port),
}),
Url::parse(&btc_url).expect("malformed btc rpc url"),
);
runtime.block_on(async {
frontend.start();
});
}
// listen to reqs from CLN
let conn = UnixConnection::new(parent_fd);
let client = UnixClient::new(conn);