From b4ff12f4e077f6525241aacd4f156e55ff822501 Mon Sep 17 00:00:00 2001 From: FiveMovesAhead Date: Fri, 14 Jun 2024 16:19:34 +1000 Subject: [PATCH] Allow each challenge to define its own min gap between frontiers. --- tig-protocol/src/add_block.rs | 5 +++-- tig-structs/src/config.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tig-protocol/src/add_block.rs b/tig-protocol/src/add_block.rs index 076f2158..b10f7652 100644 --- a/tig-protocol/src/add_block.rs +++ b/tig-protocol/src/add_block.rs @@ -674,8 +674,9 @@ async fn update_frontiers(ctx: &mut T, block: &Block) { let scaling_factor = *block_data.num_qualifiers() as f64 / config.qualifiers.total_qualifiers_threshold as f64; - let (scaling_factor, base_frontier) = match config.difficulty.min_frontiers_gap { - Some(min_gap) => { + let (scaling_factor, base_frontier) = match &config.difficulty.min_frontiers_gaps { + Some(min_gaps) => { + let min_gap = min_gaps[&challenge.id]; if scaling_factor >= 1.0 { ( (scaling_factor / (1.0 - min_gap)) diff --git a/tig-structs/src/config.rs b/tig-structs/src/config.rs index 8c35e917..0aa03263 100644 --- a/tig-structs/src/config.rs +++ b/tig-structs/src/config.rs @@ -75,7 +75,7 @@ impl MinMaxDifficulty for Vec { serializable_struct_with_getters! { DifficultyConfig { max_scaling_factor: f64, - min_frontiers_gap: Option, + min_frontiers_gaps: Option>, parameters: HashMap>, } }