Simplify cli node version output, display semver only by default
This commit is contained in:
parent
ef60d0f5ba
commit
4fa443becf
@ -1489,7 +1489,7 @@ pub fn process_command(config: &CliConfig) -> ProcessResult {
|
|||||||
follow,
|
follow,
|
||||||
} => process_catchup(&rpc_client, config, node_pubkey, node_json_rpc_url, *follow),
|
} => process_catchup(&rpc_client, config, node_pubkey, node_json_rpc_url, *follow),
|
||||||
CliCommand::ClusterDate => process_cluster_date(&rpc_client, config),
|
CliCommand::ClusterDate => process_cluster_date(&rpc_client, config),
|
||||||
CliCommand::ClusterVersion => process_cluster_version(&rpc_client),
|
CliCommand::ClusterVersion => process_cluster_version(&rpc_client, config),
|
||||||
CliCommand::CreateAddressWithSeed {
|
CliCommand::CreateAddressWithSeed {
|
||||||
from_pubkey,
|
from_pubkey,
|
||||||
seed,
|
seed,
|
||||||
|
@ -300,7 +300,7 @@ impl fmt::Display for CliValidators {
|
|||||||
|
|
||||||
writeln!(
|
writeln!(
|
||||||
f,
|
f,
|
||||||
"{} {:<44} {:<44} {:>3}% {:>8} {:>10} {:>10} {:>17} {}",
|
"{} {:<44} {:<44} {:>3}% {:>8} {:>10} {:>10} {:>8} {}",
|
||||||
if delinquent {
|
if delinquent {
|
||||||
WARNING.to_string()
|
WARNING.to_string()
|
||||||
} else {
|
} else {
|
||||||
@ -359,7 +359,7 @@ impl fmt::Display for CliValidators {
|
|||||||
for (version, info) in self.stake_by_version.iter() {
|
for (version, info) in self.stake_by_version.iter() {
|
||||||
writeln!(
|
writeln!(
|
||||||
f,
|
f,
|
||||||
"{:<16} - {:3} current validators ({:>5.2}%){}",
|
"{:<8} - {:3} current validators ({:>5.2}%){}",
|
||||||
version,
|
version,
|
||||||
info.current_validators,
|
info.current_validators,
|
||||||
100. * info.current_active_stake as f64 / self.total_active_stake as f64,
|
100. * info.current_active_stake as f64 / self.total_active_stake as f64,
|
||||||
@ -380,7 +380,7 @@ impl fmt::Display for CliValidators {
|
|||||||
f,
|
f,
|
||||||
"{}",
|
"{}",
|
||||||
style(format!(
|
style(format!(
|
||||||
" {:<44} {:<38} {} {} {} {:>10} {:^17} {}",
|
" {:<44} {:<38} {} {} {} {:>10} {:^8} {}",
|
||||||
"Identity Pubkey",
|
"Identity Pubkey",
|
||||||
"Vote Account Pubkey",
|
"Vote Account Pubkey",
|
||||||
"Commission",
|
"Commission",
|
||||||
|
@ -15,7 +15,7 @@ use solana_client::{
|
|||||||
pubsub_client::PubsubClient,
|
pubsub_client::PubsubClient,
|
||||||
rpc_client::{GetConfirmedSignaturesForAddress2Config, RpcClient},
|
rpc_client::{GetConfirmedSignaturesForAddress2Config, RpcClient},
|
||||||
rpc_config::{RpcLargestAccountsConfig, RpcLargestAccountsFilter},
|
rpc_config::{RpcLargestAccountsConfig, RpcLargestAccountsFilter},
|
||||||
rpc_response::SlotInfo,
|
rpc_response::{RpcVersionInfo, SlotInfo},
|
||||||
};
|
};
|
||||||
use solana_remote_wallet::remote_wallet::RemoteWalletManager;
|
use solana_remote_wallet::remote_wallet::RemoteWalletManager;
|
||||||
use solana_sdk::{
|
use solana_sdk::{
|
||||||
@ -622,9 +622,14 @@ pub fn process_cluster_date(rpc_client: &RpcClient, config: &CliConfig) -> Proce
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn process_cluster_version(rpc_client: &RpcClient) -> ProcessResult {
|
pub fn process_cluster_version(rpc_client: &RpcClient, config: &CliConfig) -> ProcessResult {
|
||||||
let remote_version = rpc_client.get_version()?;
|
let remote_version = rpc_client.get_version()?;
|
||||||
Ok(remote_version.solana_core)
|
|
||||||
|
if config.verbose {
|
||||||
|
Ok(format!("{:?}", remote_version))
|
||||||
|
} else {
|
||||||
|
Ok(remote_version.to_string())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn process_fees(rpc_client: &RpcClient, config: &CliConfig) -> ProcessResult {
|
pub fn process_fees(rpc_client: &RpcClient, config: &CliConfig) -> ProcessResult {
|
||||||
@ -1312,9 +1317,12 @@ pub fn process_show_validators(
|
|||||||
for contact_info in rpc_client.get_cluster_nodes()? {
|
for contact_info in rpc_client.get_cluster_nodes()? {
|
||||||
node_version.insert(
|
node_version.insert(
|
||||||
contact_info.pubkey,
|
contact_info.pubkey,
|
||||||
contact_info
|
RpcVersionInfo {
|
||||||
|
solana_core: contact_info
|
||||||
.version
|
.version
|
||||||
.unwrap_or_else(|| unknown_version.clone()),
|
.unwrap_or_else(|| unknown_version.clone()),
|
||||||
|
}
|
||||||
|
.to_string(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ use solana_sdk::{
|
|||||||
transaction::{Result, TransactionError},
|
transaction::{Result, TransactionError},
|
||||||
};
|
};
|
||||||
use solana_transaction_status::ConfirmedTransactionStatusWithSignature;
|
use solana_transaction_status::ConfirmedTransactionStatusWithSignature;
|
||||||
use std::{collections::HashMap, net::SocketAddr};
|
use std::{collections::HashMap, fmt, net::SocketAddr};
|
||||||
|
|
||||||
pub type RpcResult<T> = client_error::Result<Response<T>>;
|
pub type RpcResult<T> = client_error::Result<Response<T>>;
|
||||||
|
|
||||||
@ -137,13 +137,30 @@ pub struct RpcContactInfo {
|
|||||||
/// Map of leader base58 identity pubkeys to the slot indices relative to the first epoch slot
|
/// Map of leader base58 identity pubkeys to the slot indices relative to the first epoch slot
|
||||||
pub type RpcLeaderSchedule = HashMap<String, Vec<usize>>;
|
pub type RpcLeaderSchedule = HashMap<String, Vec<usize>>;
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Clone, Debug)]
|
#[derive(Serialize, Deserialize, Clone)]
|
||||||
#[serde(rename_all = "kebab-case")]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub struct RpcVersionInfo {
|
pub struct RpcVersionInfo {
|
||||||
/// The current version of solana-core
|
/// The current version of solana-core
|
||||||
pub solana_core: String,
|
pub solana_core: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Debug for RpcVersionInfo {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
write!(f, "{}", self.solana_core)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for RpcVersionInfo {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
if let Some(version) = self.solana_core.split_whitespace().next() {
|
||||||
|
// Display just the semver if possible
|
||||||
|
write!(f, "{}", version)
|
||||||
|
} else {
|
||||||
|
write!(f, "{}", self.solana_core)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Clone, Debug)]
|
#[derive(Serialize, Deserialize, Clone, Debug)]
|
||||||
#[serde(rename_all = "kebab-case")]
|
#[serde(rename_all = "kebab-case")]
|
||||||
pub struct RpcIdentity {
|
pub struct RpcIdentity {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user