From 5ae99c5e226fbc008991f01bc9288c52c2913f57 Mon Sep 17 00:00:00 2001 From: Prisca Chidimma Maduka Date: Thu, 30 Oct 2025 12:29:28 +0100 Subject: [PATCH] Update extranonce size calculations in Bridge and translator Upstream --- src/translator/proxy/bridge.rs | 3 ++- src/translator/upstream/upstream.rs | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/translator/proxy/bridge.rs b/src/translator/proxy/bridge.rs index ba8f49c4..db0b018b 100644 --- a/src/translator/proxy/bridge.rs +++ b/src/translator/proxy/bridge.rs @@ -123,7 +123,8 @@ impl Bridge { if let Some(Mining::OpenExtendedMiningChannelSuccess(success)) = message.next() { info!("New extended channel opened with id {}", success.channel_id); let extranonce = success.extranonce_prefix.to_vec(); - let extranonce2_len = success.extranonce_size; + let extranonce2_len = + success.extranonce_size - success.extranonce_prefix.len() as u16; self.target .safe_lock(|t| *t = success.target.to_vec()) .map_err(|e| { diff --git a/src/translator/upstream/upstream.rs b/src/translator/upstream/upstream.rs index f5b62d5a..5b1969c8 100644 --- a/src/translator/upstream/upstream.rs +++ b/src/translator/upstream/upstream.rs @@ -273,9 +273,8 @@ impl Upstream { miner_extranonce2_size, ); let range_0 = 0..prefix_len; // upstream extranonce1 - let range_1 = prefix_len..prefix_len + tproxy_e1_len; // downstream extranonce1 - let range_2 = prefix_len + tproxy_e1_len - ..prefix_len + m.extranonce_size as usize; // extranonce2 + let range_1 = prefix_len..tproxy_e1_len; // downstream extranonce1 + let range_2 = tproxy_e1_len..m.extranonce_size as usize; // extranonce2 let extended = match ExtendedExtranonce::from_upstream_extranonce( extranonce_prefix.clone(), range_0.clone(), range_1.clone(), range_2.clone(), ).ok_or( Error::InvalidExtranonce(format!("Impossible to create a valid extended extranonce from {:?} {:?} {:?} {:?}",