Skip to content

Commit

Permalink
Rename difficulty transition threshold functions
Browse files Browse the repository at this point in the history
These two functions calculate the min/max threshold transition which is
a _target_ not a "difficulty" number. Using "difficulty" in the function
name is unnecessarily confusing.

Rename and deprecate the functions.
  • Loading branch information
tcharding committed Apr 2, 2024
1 parent 4121c9a commit 6e47d57
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions bitcoin/src/pow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -253,19 +253,30 @@ impl Target {
#[cfg_attr(all(test, mutate), mutate)]
pub fn difficulty_float(&self) -> f64 { TARGET_MAX_F64 / self.0.to_f64() }

/// Computes the minimum valid [`Target`] threshold allowed for a block in which a difficulty
/// adjustment occurs.
#[deprecated(since = "TBD", note = "use min_transition_threshold instead")]
pub fn min_difficulty_transition_threshold(&self) -> Self { self.min_transition_threshold() }

/// Computes the maximum valid [`Target`] threshold allowed for a block in which a difficulty
/// adjustment occurs.
#[deprecated(since = "TBD", note = "use max_transition_threshold instead")]
pub fn max_difficulty_transition_threshold(&self) -> Self { self.max_transition_threshold() }

/// Computes the minimum valid [`Target`] threshold allowed for a block in which a difficulty
/// adjustment occurs.
///
/// The difficulty can only decrease or increase by a factor of 4 max on each difficulty
/// adjustment period.
pub fn min_difficulty_transition_threshold(&self) -> Self { Self(self.0 >> 2) }
pub fn min_transition_threshold(&self) -> Self { Self(self.0 >> 2) }

/// Computes the maximum valid [`Target`] threshold allowed for a block in which a difficulty
/// adjustment occurs.
///
/// The difficulty can only decrease or increase by a factor of 4 max on each difficulty
/// adjustment period.
pub fn max_difficulty_transition_threshold(&self) -> Self { Self(self.0 << 2) }
pub fn max_transition_threshold(&self) -> Self { Self(self.0 << 2) }

}
do_impl!(Target);

Expand Down

0 comments on commit 6e47d57

Please sign in to comment.