From 3638ff953fc91509d0fb1eae0740054533067394 Mon Sep 17 00:00:00 2001 From: "rearden-grok[bot]" <317016512+rearden-grok[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 12:06:58 -0700 Subject: [PATCH] test: fold long min-chain-work hex reject onto operator_conf_and_argv operator_conf_and_argv already accepts --min-chain-work=0x65. It now refuses a 65-digit hex spec through apply_kv, which is the outcome minimum_chain_work_hex_and_floor asserted. The 0x65 byte, the non-hex refusal, and meets_minimum_chain_work stay covered by that journey, the operator smoke, and the testnet3 milestone journey. --- crates/rbitcoin-node/src/cli.rs | 10 ++++++++++ crates/rbitcoin-node/src/config.rs | 18 ------------------ 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/crates/rbitcoin-node/src/cli.rs b/crates/rbitcoin-node/src/cli.rs index 3a7778809..06d613cf8 100644 --- a/crates/rbitcoin-node/src/cli.rs +++ b/crates/rbitcoin-node/src/cli.rs @@ -882,6 +882,16 @@ mod tests { assert!(signet_skip.milestone().skips_scripts_at(1)); let work = ready_config(["rbitcoin-node", "--min-chain-work=0x65"]); assert_eq!(work.minimum_chain_work.unwrap()[31], 0x65); + let mut long_work = NodeConfig::default(); + let long_hex = "01234567890123456789012345678901234567890123456789012345678901234"; + let refused = long_work + .apply_kv("min_chain_work", long_hex) + .unwrap_err() + .to_string(); + assert!( + refused.contains("64 hex digits"), + "65 hex digits must be refused: {refused}" + ); // Kebab flags set the knob the conf key of the same name sets. let cfg = ready_config([ diff --git a/crates/rbitcoin-node/src/config.rs b/crates/rbitcoin-node/src/config.rs index facccffc7..2321e9460 100644 --- a/crates/rbitcoin-node/src/config.rs +++ b/crates/rbitcoin-node/src/config.rs @@ -2286,24 +2286,6 @@ mod tests { ); } - #[test] - fn minimum_chain_work_hex_and_floor() { - let w = parse_minimum_chain_work("0x65").unwrap(); - assert_eq!(w[31], 0x65); - assert!(parse_minimum_chain_work("test").is_err()); - assert!(parse_minimum_chain_work( - "01234567890123456789012345678901234567890123456789012345678901234" - ) - .is_err()); - let mut cfg = NodeConfig::default(); - assert!(cfg.meets_minimum_chain_work([0; 32])); - cfg.minimum_chain_work = Some(w); - assert!(!cfg.meets_minimum_chain_work([0; 32])); - let mut above = [0u8; 32]; - above[31] = 0x66; - assert!(cfg.meets_minimum_chain_work(above)); - } - #[test] fn connect_hostname_is_dns_not_netaddr() { let mut cfg = NodeConfig::default();