diff --git a/miner-apps/jd-client/src/lib/channel_manager/downstream_message_handler.rs b/miner-apps/jd-client/src/lib/channel_manager/downstream_message_handler.rs index 9262bc44f..22234b421 100644 --- a/miner-apps/jd-client/src/lib/channel_manager/downstream_message_handler.rs +++ b/miner-apps/jd-client/src/lib/channel_manager/downstream_message_handler.rs @@ -988,7 +988,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; info!("SubmitSharesStandard on downstream channel: {} ✅", success); messages.push((downstream.downstream_id, Mining::SubmitSharesSuccess(success)).into()); @@ -1022,7 +1022,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; messages.push(( downstream.downstream_id, @@ -1244,7 +1244,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; info!("SubmitSharesExtended on downstream channel: {} ✅", success); messages.push((downstream.downstream_id, Mining::SubmitSharesSuccess(success)).into()); @@ -1276,7 +1276,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; is_downstream_share_valid = true; messages.push(( diff --git a/miner-apps/jd-client/src/lib/channel_manager/upstream_message_handler.rs b/miner-apps/jd-client/src/lib/channel_manager/upstream_message_handler.rs index b99c771f2..3bd9bf46f 100644 --- a/miner-apps/jd-client/src/lib/channel_manager/upstream_message_handler.rs +++ b/miner-apps/jd-client/src/lib/channel_manager/upstream_message_handler.rs @@ -504,10 +504,8 @@ impl HandleMiningMessagesFromServerAsync for ChannelManager { self.channel_manager_data.super_safe_lock(|data| { // if None, upstream is not currently available, so we skip accounting update if let Some(upstream_channel) = data.upstream_channel.as_mut() { - upstream_channel.on_share_acknowledgement( - msg.new_submits_accepted_count, - msg.new_shares_sum as f64, - ); + upstream_channel + .on_share_acknowledgement(msg.new_submits_accepted_count, msg.new_shares_sum); } }); diff --git a/miner-apps/translator/src/lib/monitoring.rs b/miner-apps/translator/src/lib/monitoring.rs index 2a4f1192a..50fc55998 100644 --- a/miner-apps/translator/src/lib/monitoring.rs +++ b/miner-apps/translator/src/lib/monitoring.rs @@ -39,7 +39,7 @@ impl ServerMonitoring for ChannelManager { let mut shares_acknowledged: u32 = 0; let mut shares_submitted: u32 = 0; let mut shares_rejected: u32 = 0; - let mut share_work_sum: f64 = 0.0; + let mut share_work_sum: u64 = 0; let mut best_diff: f64 = 0.0; let mut blocks_found: u32 = 0; @@ -51,7 +51,8 @@ impl ServerMonitoring for ChannelManager { .saturating_add(share_accounting.get_validated_shares()); shares_rejected = shares_rejected.saturating_add(share_accounting.get_rejected_shares()); - share_work_sum += share_accounting.get_share_work_sum(); + share_work_sum = + share_work_sum.saturating_add(share_accounting.get_share_work_sum()); best_diff = best_diff.max(share_accounting.get_best_diff()); blocks_found = blocks_found.saturating_add(share_accounting.get_blocks_found()); diff --git a/miner-apps/translator/src/lib/sv2/channel_manager/mining_message_handler.rs b/miner-apps/translator/src/lib/sv2/channel_manager/mining_message_handler.rs index 1f9b72dd9..964f18b7f 100644 --- a/miner-apps/translator/src/lib/sv2/channel_manager/mining_message_handler.rs +++ b/miner-apps/translator/src/lib/sv2/channel_manager/mining_message_handler.rs @@ -403,7 +403,7 @@ impl HandleMiningMessagesFromServerAsync for ChannelManager { // if None, the channel may be closed/missing, so we ignore this accounting update if let Some(mut ch) = self.extended_channels.get_mut(&key) { - ch.on_share_acknowledgement(m.new_submits_accepted_count, m.new_shares_sum as f64); + ch.on_share_acknowledgement(m.new_submits_accepted_count, m.new_shares_sum); } Ok(()) diff --git a/pool-apps/pool/src/lib/channel_manager/mining_message_handler.rs b/pool-apps/pool/src/lib/channel_manager/mining_message_handler.rs index 5c3806925..35409b932 100644 --- a/pool-apps/pool/src/lib/channel_manager/mining_message_handler.rs +++ b/pool-apps/pool/src/lib/channel_manager/mining_message_handler.rs @@ -583,7 +583,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; info!("SubmitSharesStandard: {} ✅", success); messages.push((downstream_id, Mining::SubmitSharesSuccess(success)).into()); @@ -616,7 +616,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; messages.push((downstream_id, Mining::SubmitSharesSuccess(success)).into()); } @@ -770,7 +770,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; info!("SubmitSharesExtended: {} ✅", success); messages.push((downstream_id, Mining::SubmitSharesSuccess(success)).into()); @@ -802,7 +802,7 @@ impl HandleMiningMessagesFromClientAsync for ChannelManager { channel_id, last_sequence_number: share_accounting.get_last_share_sequence_number(), new_submits_accepted_count: share_accounting.get_last_batch_accepted(), - new_shares_sum: share_accounting.get_last_batch_work_sum() as u64, + new_shares_sum: share_accounting.get_last_batch_work_sum(), }; messages.push((downstream_id, Mining::SubmitSharesSuccess(success)).into()); } diff --git a/stratum-apps/src/monitoring/client.rs b/stratum-apps/src/monitoring/client.rs index 37b20d2db..8b9903773 100644 --- a/stratum-apps/src/monitoring/client.rs +++ b/stratum-apps/src/monitoring/client.rs @@ -23,7 +23,7 @@ pub struct ExtendedChannelInfo { pub last_share_sequence_number: u32, pub best_diff: f64, pub last_batch_accepted: u32, - pub last_batch_work_sum: f64, + pub last_batch_work_sum: u64, pub share_batch_size: usize, pub blocks_found: u32, } @@ -43,7 +43,7 @@ pub struct StandardChannelInfo { pub last_share_sequence_number: u32, pub best_diff: f64, pub last_batch_accepted: u32, - pub last_batch_work_sum: f64, + pub last_batch_work_sum: u64, pub share_batch_size: usize, pub blocks_found: u32, } @@ -158,7 +158,7 @@ mod tests { last_share_sequence_number: 5, best_diff: 50.0, last_batch_accepted: 3, - last_batch_work_sum: 30.0, + last_batch_work_sum: 30, share_batch_size: 10, blocks_found: 0, } @@ -178,7 +178,7 @@ mod tests { last_share_sequence_number: 8, best_diff: 80.0, last_batch_accepted: 5, - last_batch_work_sum: 50.0, + last_batch_work_sum: 50, share_batch_size: 20, blocks_found: 0, } diff --git a/stratum-apps/src/monitoring/http_server.rs b/stratum-apps/src/monitoring/http_server.rs index 7daf6ad02..76d00f54c 100644 --- a/stratum-apps/src/monitoring/http_server.rs +++ b/stratum-apps/src/monitoring/http_server.rs @@ -954,7 +954,7 @@ mod tests { last_share_sequence_number: 5, best_diff: 50.0, last_batch_accepted: 3, - last_batch_work_sum: 30.0, + last_batch_work_sum: 30, share_batch_size: 10, blocks_found: 0, } @@ -977,7 +977,7 @@ mod tests { last_share_sequence_number: 8, best_diff: 80.0, last_batch_accepted: 5, - last_batch_work_sum: 50.0, + last_batch_work_sum: 50, share_batch_size: 20, blocks_found: 0, } @@ -998,7 +998,7 @@ mod tests { version_rolling: true, shares_acknowledged: 10, shares_rejected: 0, - share_work_sum: 100.0, + share_work_sum: 100, shares_submitted: 12, best_diff: 50.0, blocks_found: 0, @@ -1018,7 +1018,7 @@ mod tests { shares_acknowledged: 20, shares_submitted: 22, shares_rejected: 1, - share_work_sum: 200.0, + share_work_sum: 200, best_diff: 80.0, blocks_found: 0, } diff --git a/stratum-apps/src/monitoring/server.rs b/stratum-apps/src/monitoring/server.rs index 72feb91a1..6d5694e46 100644 --- a/stratum-apps/src/monitoring/server.rs +++ b/stratum-apps/src/monitoring/server.rs @@ -21,7 +21,7 @@ pub struct ServerExtendedChannelInfo { pub shares_acknowledged: u32, pub shares_submitted: u32, pub shares_rejected: u32, - pub share_work_sum: f64, + pub share_work_sum: u64, pub best_diff: f64, pub blocks_found: u32, } @@ -38,7 +38,7 @@ pub struct ServerStandardChannelInfo { pub shares_acknowledged: u32, pub shares_submitted: u32, pub shares_rejected: u32, - pub share_work_sum: f64, + pub share_work_sum: u64, pub best_diff: f64, pub blocks_found: u32, } @@ -118,7 +118,7 @@ mod tests { version_rolling: true, shares_acknowledged: 10, shares_rejected: 0, - share_work_sum: 100.0, + share_work_sum: 100, shares_submitted: 12, best_diff: 50.0, blocks_found: 0, @@ -138,7 +138,7 @@ mod tests { shares_acknowledged: 20, shares_submitted: 22, shares_rejected: 1, - share_work_sum: 200.0, + share_work_sum: 200, best_diff: 80.0, blocks_found: 0, }