mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-23 06:55:13 +01:00
36 lines
808 B
Rust
36 lines
808 B
Rust
|
/// This plug-in subscribes to the wildcard-notifications
|
||
|
/// and creates a corresponding log-entry
|
||
|
|
||
|
use anyhow::Result;
|
||
|
use cln_plugin::{Builder, Plugin};
|
||
|
|
||
|
#[tokio::main]
|
||
|
async fn main() -> Result<()> {
|
||
|
let state = ();
|
||
|
|
||
|
let configured = Builder::new(tokio::io::stdin(), tokio::io::stdout())
|
||
|
.subscribe("*", handle_wildcard_notification)
|
||
|
.start(state)
|
||
|
.await?;
|
||
|
|
||
|
match configured {
|
||
|
Some(p) => p.join().await?,
|
||
|
None => return Ok(()) // cln was started with --help
|
||
|
};
|
||
|
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
async fn handle_wildcard_notification(_plugin: Plugin<()>, value : serde_json::Value) -> Result<()> {
|
||
|
let notification_type : String = value
|
||
|
.as_object()
|
||
|
.unwrap()
|
||
|
.keys()
|
||
|
.next()
|
||
|
.unwrap()
|
||
|
.into();
|
||
|
|
||
|
log::info!("Received notification {}", notification_type);
|
||
|
Ok(())
|
||
|
}
|