mirror of
https://github.com/Cyrix126/gupaxx.git
synced 2024-12-22 14:49:21 +00:00
fix: modify tests and add back p2pool external hashrate into donation calculation
This commit is contained in:
parent
b0834d4c34
commit
9c49aa9755
2 changed files with 26 additions and 5 deletions
|
@ -678,7 +678,7 @@ Uptime = 0h 2m 4s
|
|||
|
||||
assert_eq!(algo.stats.target_donation_hashrate, 10000.0);
|
||||
|
||||
lock!(gui_api_p2pool).p2pool_difficulty_u64 = 9_000_000;
|
||||
lock!(gui_api_p2pool).p2pool_difficulty_u64 = 95_000_000;
|
||||
lock!(gui_api_xmrig).hashrate_raw_15m = 10000.0;
|
||||
lock!(gui_api_xvb).stats_priv.runtime_mode = RuntimeMode::Auto;
|
||||
|
||||
|
@ -715,7 +715,7 @@ Uptime = 0h 2m 4s
|
|||
let xp_alive = false;
|
||||
let share = 1;
|
||||
|
||||
lock!(gui_api_p2pool).p2pool_difficulty_u64 = 9_000_000;
|
||||
lock!(gui_api_p2pool).p2pool_difficulty_u64 = 95_000_000;
|
||||
lock!(gui_api_xmrig).hashrate_raw_15m = 20000.0;
|
||||
lock!(gui_api_xvb).stats_priv.runtime_mode = RuntimeMode::Hero;
|
||||
|
||||
|
@ -734,6 +734,25 @@ Uptime = 0h 2m 4s
|
|||
xp_alive,
|
||||
);
|
||||
|
||||
assert_eq!(algo.stats.target_donation_hashrate, 10000.0);
|
||||
assert_eq!(algo.stats.target_donation_hashrate, 15382.1);
|
||||
|
||||
lock!(gui_api_p2pool).sidechain_ehr = 25000.0;
|
||||
|
||||
let algo = Algorithm::new(
|
||||
&client,
|
||||
&pub_api,
|
||||
&gui_api_xvb,
|
||||
&gui_api_xmrig,
|
||||
&gui_api_xp,
|
||||
&gui_api_p2pool,
|
||||
token_xmrig,
|
||||
&state_p2pool,
|
||||
share,
|
||||
&time_donated,
|
||||
rig,
|
||||
xp_alive,
|
||||
);
|
||||
|
||||
assert_eq!(algo.stats.target_donation_hashrate, 20000.0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -135,6 +135,7 @@ impl<'a> Algorithm<'a> {
|
|||
let share_min_hashrate = Self::minimum_hashrate_share(
|
||||
lock!(gui_api_p2pool).p2pool_difficulty_u64,
|
||||
state_p2pool.mini,
|
||||
p2pool_external_hashrate,
|
||||
);
|
||||
|
||||
let spareable_hashrate = hashrate_xmrig - share_min_hashrate;
|
||||
|
@ -478,13 +479,14 @@ impl<'a> Algorithm<'a> {
|
|||
samples.0.iter().sum::<f32>() / samples.0.len() as f32
|
||||
}
|
||||
|
||||
fn minimum_hashrate_share(difficulty: u64, mini: bool) -> f32 {
|
||||
fn minimum_hashrate_share(difficulty: u64, mini: bool, p2pool_external_hashrate: f32) -> f32 {
|
||||
let pws = if mini {
|
||||
BLOCK_PPLNS_WINDOW_MINI
|
||||
} else {
|
||||
BLOCK_PPLNS_WINDOW_MAIN
|
||||
};
|
||||
let mut minimum_hr = (difficulty / (pws * SECOND_PER_BLOCK_P2POOL)) as f32 * XVB_BUFFER;
|
||||
let mut minimum_hr = ((difficulty / (pws * SECOND_PER_BLOCK_P2POOL)) as f32 * XVB_BUFFER)
|
||||
- p2pool_external_hashrate;
|
||||
info!("Algorithm | (difficulty / (window pplns blocks * seconds per p2pool block) * BUFFER) - outside HR = minimum HR to keep a share\n({difficulty} / ({pws} * {SECOND_PER_BLOCK_P2POOL}) * {XVB_BUFFER}) - {p2pool_external_hashrate} = {minimum_hr}");
|
||||
|
||||
if minimum_hr.is_sign_negative() {
|
||||
|
|
Loading…
Reference in a new issue