From 2da951cb4fceefc466315db5f33f5751fdd07257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20D=C3=ADaz?= Date: Wed, 29 Jan 2025 16:15:44 +0100 Subject: [PATCH] fix(json_rpc): avoid ever providing node's stake entries --- src/cli/node/json_rpc_client.rs | 35 +++++++++++++++++++-------------- src/cli/node/with_node.rs | 11 +---------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/cli/node/json_rpc_client.rs b/src/cli/node/json_rpc_client.rs index 448a97ce8..ef1d80cc4 100644 --- a/src/cli/node/json_rpc_client.rs +++ b/src/cli/node/json_rpc_client.rs @@ -51,12 +51,12 @@ use witnet_node::actors::{ chain_manager::run_dr_locally, json_rpc::api::{ AddrType, GetBlockChainParams, GetTransactionOutput, PeersResult, QueryPowersParams, - QueryPowersRecord, QueryStakesParams, + QueryPowersRecord, }, messages::{ AuthorizeStake, BuildDrt, BuildStakeParams, BuildStakeResponse, BuildUnstakeParams, - BuildVtt, GetBalanceTarget, GetReputationResult, MagicEither, SignalingInfo, - StakeAuthorization, + BuildVtt, GetBalanceTarget, GetReputationResult, MagicEither, QueryStakes, + QueryStakesFilter, QueryStakesLimits, SignalingInfo, StakeAuthorization, }, }; use witnet_rad::types::RadonTypes; @@ -1952,21 +1952,26 @@ pub fn query_stakes( addr: SocketAddr, validator: Option, withdrawer: Option, - all: bool, long: bool, ) -> Result<(), failure::Error> { let mut stream = start_client(addr)?; - let params = if all { - Some(QueryStakesParams::All(true)) - } else { - match (validator, withdrawer) { - (Some(validator), Some(withdrawer)) => { - Some(QueryStakesParams::Key((validator, withdrawer))) - } - (Some(validator), _) => Some(QueryStakesParams::Validator(validator)), - (_, Some(withdrawer)) => Some(QueryStakesParams::Withdrawer(withdrawer)), - (None, None) => None, - } + let params = match (validator, withdrawer) { + (Some(validator), Some(withdrawer)) => QueryStakes { + filter: QueryStakesFilter::Key(( + MagicEither::Left(validator), + MagicEither::Left(withdrawer), + )), + limits: QueryStakesLimits::default(), + }, + (Some(validator), _) => QueryStakes { + filter: QueryStakesFilter::Validator(MagicEither::Left(validator)), + limits: QueryStakesLimits::default(), + }, + (_, Some(withdrawer)) => QueryStakes { + filter: QueryStakesFilter::Withdrawer(MagicEither::Left(withdrawer)), + limits: QueryStakesLimits::default(), + }, + (None, None) => QueryStakes::default(), }; let response = send_request( diff --git a/src/cli/node/with_node.rs b/src/cli/node/with_node.rs index 010d44457..e110c27a3 100644 --- a/src/cli/node/with_node.rs +++ b/src/cli/node/with_node.rs @@ -295,15 +295,8 @@ pub fn exec_cmd( node, validator, withdrawer, - all, long, - } => rpc::query_stakes( - node.unwrap_or(default_jsonrpc), - validator, - withdrawer, - all, - long, - ), + } => rpc::query_stakes(node.unwrap_or(default_jsonrpc), validator, withdrawer, long), Command::QueryPowers { node, capability, @@ -840,8 +833,6 @@ pub enum Command { validator: Option, #[structopt(short = "w", long = "withdrawer")] withdrawer: Option, - #[structopt(short = "a", long = "all")] - all: bool, #[structopt(short = "l", long = "long")] long: bool, },