validator status detection draft added
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
parent
e16d319b72
commit
c4f0f6f35c
@ -2,7 +2,7 @@
|
|||||||
name = "ghost-eye"
|
name = "ghost-eye"
|
||||||
authors = ["str3tch <stretch@ghostchain.io>"]
|
authors = ["str3tch <stretch@ghostchain.io>"]
|
||||||
description = "Application for interacting with Casper/Ghost nodes that are exposing RPC only to the localhost"
|
description = "Application for interacting with Casper/Ghost nodes that are exposing RPC only to the localhost"
|
||||||
version = "0.3.39"
|
version = "0.3.40"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
@ -22,6 +22,8 @@ pub struct RewardDetails {
|
|||||||
apy: String,
|
apy: String,
|
||||||
inflation: String,
|
inflation: String,
|
||||||
stash: [u8; 32],
|
stash: [u8; 32],
|
||||||
|
in_staking_validators: bool,
|
||||||
|
in_session_validators: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for RewardDetails {
|
impl Default for RewardDetails {
|
||||||
@ -39,6 +41,8 @@ impl RewardDetails {
|
|||||||
apy: String::from("0.0%"),
|
apy: String::from("0.0%"),
|
||||||
inflation: String::from("0.0%"),
|
inflation: String::from("0.0%"),
|
||||||
stash: [0u8; 32],
|
stash: [0u8; 32],
|
||||||
|
in_staking_validators: false,
|
||||||
|
in_session_validators: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,6 +81,7 @@ impl Component for RewardDetails {
|
|||||||
Action::SetStashAccount(stash) => self.stash = stash,
|
Action::SetStashAccount(stash) => self.stash = stash,
|
||||||
Action::SetValidatorPrefs(commission, disabled, account_id) if self.stash == account_id => {
|
Action::SetValidatorPrefs(commission, disabled, account_id) if self.stash == account_id => {
|
||||||
self.commission = commission;
|
self.commission = commission;
|
||||||
|
self.in_staking_validators = commission.is_some();
|
||||||
self.nominators_blocked = disabled;
|
self.nominators_blocked = disabled;
|
||||||
}
|
}
|
||||||
Action::Apy(apy) => self.apy = apy,
|
Action::Apy(apy) => self.apy = apy,
|
||||||
@ -90,6 +95,13 @@ impl Component for RewardDetails {
|
|||||||
let [_, _, place] = super::validator_balance_layout(area);
|
let [_, _, place] = super::validator_balance_layout(area);
|
||||||
let (border_style, border_type) = self.palette.create_border_style(false);
|
let (border_style, border_type) = self.palette.create_border_style(false);
|
||||||
|
|
||||||
|
let staking_status = match (self.in_staking_validators, self.in_session_validators) {
|
||||||
|
(false, false) => "Staking status: Nothing".to_string(),
|
||||||
|
(true, false) => "Staking status: Active".to_string(),
|
||||||
|
(false, true) => "Staking status: Pending".to_string(),
|
||||||
|
(true, true) => "Staking status: Active".to_string(),
|
||||||
|
};
|
||||||
|
|
||||||
let table = Table::new(
|
let table = Table::new(
|
||||||
vec![
|
vec![
|
||||||
Row::new(vec![
|
Row::new(vec![
|
||||||
@ -117,7 +129,7 @@ impl Component for RewardDetails {
|
|||||||
.border_type(border_type)
|
.border_type(border_type)
|
||||||
.title_alignment(Alignment::Right)
|
.title_alignment(Alignment::Right)
|
||||||
.title_style(self.palette.create_title_style(false))
|
.title_style(self.palette.create_title_style(false))
|
||||||
.title("Reward details"));
|
.title(staking_status));
|
||||||
|
|
||||||
frame.render_widget(table, place);
|
frame.render_widget(table, place);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user