kaspa_cli_lib/modules/
track.rs

1use crate::helpers;
2use crate::imports::*;
3
4#[derive(Default, Handler)]
5#[help("Track specific notifications when muted (balance|pending|tx|utxo|daa)")]
6pub struct Track;
7
8impl Track {
9    async fn main(self: Arc<Self>, ctx: &Arc<dyn Context>, argv: Vec<String>, _cmd: &str) -> Result<()> {
10        let ctx = ctx.clone().downcast_arc::<KaspaCli>()?;
11
12        if let Some(attr) = argv.first() {
13            let track: helpers::Track = attr.parse()?;
14            ctx.flags().toggle(track);
15        } else {
16            for flag in ctx.flags().map().iter() {
17                let k = flag.key().to_string();
18                let v = flag.value().load(Ordering::SeqCst);
19                let s = if v { "on" } else { "off" };
20                tprintln!(ctx, "{k} is {s}");
21            }
22        }
23
24        Ok(())
25    }
26}