bitcoin_terminal_dashboard/inputs/
mod.rs

1use self::key::Key;
2
3pub mod events;
4pub mod key;
5
6pub enum FetchEvent<T> {
7    Start,
8    Complete(T),
9}
10pub enum Resource {
11    BitcoinPrice(FetchEvent<f64>),
12    NewBlockHeight(FetchEvent<u64>),
13    SecondsSinceLastBlock(FetchEvent<u64>),
14    TransactionsCountOverLast30Days(FetchEvent<u64>),
15    AverageBlockTimeForLast2016Blocks(FetchEvent<u64>),
16    ChainSize(FetchEvent<u64>),
17    UtxoSetSize(FetchEvent<u64>),
18    TotalMoneySupply(FetchEvent<f64>),
19    TotalTransactionCount(FetchEvent<u64>),
20    TpsForLast30Days(FetchEvent<f64>),
21    TotalFeesForLast24Hours(FetchEvent<u64>),
22    Difficulty(FetchEvent<f64>),
23    CurrentDifficultyEpoch(FetchEvent<u64>),
24    BlockCountUntilRetarget(FetchEvent<f64>),
25    EstimatedSecondsUntilRetarget(FetchEvent<f64>),
26    AverageBlockTimeSinceLastDifficultyAdjustment(FetchEvent<u64>),
27    EstimatedHashRatePerSecondForLast2016Blocks(FetchEvent<f64>),
28    BlockSubsidyOfMostRecentBlock(FetchEvent<u64>),
29    BlocksMinedOverLast24Hours(FetchEvent<u64>),
30    AverageFeesPerBlockOverLast24Hours(FetchEvent<u64>),
31    AverageFeesPerBlockOverLast2016Blocks(FetchEvent<u64>),
32    FeesAsAPercentOfRewardForLast2016Blocks(FetchEvent<f64>),
33    FeesAsAPercentOfRewardForLast24Hours(FetchEvent<f64>),
34    SegwitPercentLast24Hours(FetchEvent<f64>),
35    SegwitSpendingPaymentsPercentLast24Hours(FetchEvent<f64>),
36    SegwitSpendingTransactionsPercentLast24Hours(FetchEvent<f64>),
37}
38
39pub enum InputEvent {
40    FetchResource(Resource),
41    /// An input event occurred.
42    Input(Key),
43    /// An tick event occurred.
44    Tick,
45    NextBlockFound(u64),
46}