Enable slasher broadcast by default (#4368)
## Issue Addressed This PR addresses issue https://github.com/sigp/lighthouse/issues/4350 ## Proposed Changes This change will enable slasher broadcast in the following cases: No flag is passed, `--slasher-broadcast` is passed and, `--slasher-broadcast=true` is passed. Only when an explicit false value is passed the slasher does not broadcast.(`--slasher-broadcast=false`). ## Additional Info TODO - [x] Modify CLI parsing logic - [x] Write test Refer to #4353 Co-authored-by: Rahul Dogra <rahulcooldogra@gmail.com> Co-authored-by: Gua00va <105484243+Gua00va@users.noreply.github.com>
This commit is contained in:
parent
f167951835
commit
62a2413ade
@ -792,8 +792,9 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
|||||||
Arg::with_name("slasher-broadcast")
|
Arg::with_name("slasher-broadcast")
|
||||||
.long("slasher-broadcast")
|
.long("slasher-broadcast")
|
||||||
.help("Broadcast slashings found by the slasher to the rest of the network \
|
.help("Broadcast slashings found by the slasher to the rest of the network \
|
||||||
[disabled by default].")
|
[Enabled by default].")
|
||||||
.requires("slasher")
|
.takes_value(true)
|
||||||
|
.default_value("true")
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("slasher-backend")
|
Arg::with_name("slasher-backend")
|
||||||
|
@ -633,7 +633,9 @@ pub fn get_config<E: EthSpec>(
|
|||||||
slasher_config.validator_chunk_size = validator_chunk_size;
|
slasher_config.validator_chunk_size = validator_chunk_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
slasher_config.broadcast = cli_args.is_present("slasher-broadcast");
|
if let Some(broadcast) = clap_utils::parse_optional(cli_args, "slasher-broadcast")? {
|
||||||
|
slasher_config.broadcast = broadcast;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(backend) = clap_utils::parse_optional(cli_args, "slasher-backend")? {
|
if let Some(backend) = clap_utils::parse_optional(cli_args, "slasher-backend")? {
|
||||||
slasher_config.backend = backend;
|
slasher_config.backend = backend;
|
||||||
|
@ -1912,7 +1912,7 @@ fn slasher_validator_chunk_size_flag() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
fn slasher_broadcast_flag() {
|
fn slasher_broadcast_flag_no_args() {
|
||||||
CommandLineTest::new()
|
CommandLineTest::new()
|
||||||
.flag("slasher", None)
|
.flag("slasher", None)
|
||||||
.flag("slasher-max-db-size", Some("1"))
|
.flag("slasher-max-db-size", Some("1"))
|
||||||
@ -1926,19 +1926,50 @@ fn slasher_broadcast_flag() {
|
|||||||
assert!(slasher_config.broadcast);
|
assert!(slasher_config.broadcast);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn slasher_backend_default() {
|
fn slasher_broadcast_flag_no_default() {
|
||||||
CommandLineTest::new()
|
CommandLineTest::new()
|
||||||
.flag("slasher", None)
|
.flag("slasher", None)
|
||||||
.flag("slasher-max-db-size", Some("1"))
|
.flag("slasher-max-db-size", Some("1"))
|
||||||
.run_with_zero_port()
|
.run_with_zero_port()
|
||||||
.with_config(|config| {
|
.with_config(|config| {
|
||||||
let slasher_config = config.slasher.as_ref().unwrap();
|
let slasher_config = config
|
||||||
assert_eq!(slasher_config.backend, slasher::DatabaseBackend::Lmdb);
|
.slasher
|
||||||
|
.as_ref()
|
||||||
|
.expect("Unable to parse Slasher config");
|
||||||
|
assert!(slasher_config.broadcast);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn slasher_broadcast_flag_true() {
|
||||||
|
CommandLineTest::new()
|
||||||
|
.flag("slasher", None)
|
||||||
|
.flag("slasher-max-db-size", Some("1"))
|
||||||
|
.flag("slasher-broadcast", Some("true"))
|
||||||
|
.run_with_zero_port()
|
||||||
|
.with_config(|config| {
|
||||||
|
let slasher_config = config
|
||||||
|
.slasher
|
||||||
|
.as_ref()
|
||||||
|
.expect("Unable to parse Slasher config");
|
||||||
|
assert!(slasher_config.broadcast);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn slasher_broadcast_flag_false() {
|
||||||
|
CommandLineTest::new()
|
||||||
|
.flag("slasher", None)
|
||||||
|
.flag("slasher-max-db-size", Some("1"))
|
||||||
|
.flag("slasher-broadcast", Some("false"))
|
||||||
|
.run_with_zero_port()
|
||||||
|
.with_config(|config| {
|
||||||
|
let slasher_config = config
|
||||||
|
.slasher
|
||||||
|
.as_ref()
|
||||||
|
.expect("Unable to parse Slasher config");
|
||||||
|
assert!(!slasher_config.broadcast);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn slasher_backend_override_to_default() {
|
fn slasher_backend_override_to_default() {
|
||||||
// Hard to test this flag because all but one backend is disabled by default and the backend
|
// Hard to test this flag because all but one backend is disabled by default and the backend
|
||||||
|
Loading…
Reference in New Issue
Block a user