Merge rust-bitcoin/rust-bitcoin#4629: Improve locktime docs

70221ffa08 Fix link to use new name (Tobin C. Harding)
ebf92fcb01 Use ASCII in rusdocs (Tobin C. Harding)
64ece63f19 Add missing whitespace character to rustdoc (Tobin C. Harding)
64e10686de Improve rustdoc examples for absolute locktime (Tobin C. Harding)

Pull request description:

  In preparation for release go over the locktime rustdocs. 
  
  Close: #4463


ACKs for top commit:
  jamillambert:
    ACK 70221ffa08
  apoelstra:
    ACK 70221ffa085e3cd0a50683f788f5e78cdfae04ae; successfully ran local tests


Tree-SHA512: 67bc51400056e08018f92f8e7ff91c8f8db9e6b575e83f8937a382bde45541a31e75277e200694180fa5098b681e200858fb7b0c9330065af0019955ed126a61
This commit is contained in:
Andrew Poelstra 2025-06-22 23:36:42 +00:00
commit 732a83c3a9
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
2 changed files with 28 additions and 9 deletions

View File

@ -65,11 +65,12 @@ impl Height {
/// # Examples
///
/// ```rust
/// use bitcoin_units::locktime::absolute::Height;
/// use bitcoin_units::locktime::absolute;
///
/// let h: u32 = 741521;
/// let height = Height::from_u32(h).expect("invalid height value");
/// assert_eq!(height.to_consensus_u32(), h);
/// let height = absolute::Height::from_u32(h)?;
/// assert_eq!(height.to_u32(), h);
/// # Ok::<_, absolute::ConversionError>(())
/// ```
#[inline]
pub const fn from_u32(n: u32) -> Result<Height, ConversionError> {
@ -81,6 +82,14 @@ impl Height {
}
/// Converts this [`Height`] to a raw `u32` value.
///
/// # Examples
///
/// ```rust
/// use bitcoin_units::locktime::absolute;
///
/// assert_eq!(absolute::Height::MAX.to_u32(), 499_999_999);
/// ```
#[inline]
pub const fn to_u32(self) -> u32 { self.0 }
@ -144,7 +153,8 @@ impl MedianTimePast {
/// The maximum MTP allowable in a locktime (Sun Feb 07 2106 06:28:15 GMT+0000).
pub const MAX: Self = MedianTimePast(u32::MAX);
/// Constructs an [`MedianTimePast`] by computing the mediantimepast from the last 11 block timestamps
/// Constructs an [`MedianTimePast`] by computing the median-time-past from the last
/// 11 block timestamps.
///
/// Because block timestamps are not monotonic, this function internally sorts them;
/// it is therefore not important what order they appear in the array; use whatever
@ -189,11 +199,12 @@ impl MedianTimePast {
/// # Examples
///
/// ```rust
/// use bitcoin_units::locktime::absolute::MedianTimePast;
/// use bitcoin_units::locktime::absolute;
///
/// let t: u32 = 1653195600; // May 22nd, 5am UTC.
/// let time = MedianTimePast::from_u32(t).expect("invalid time value");
/// assert_eq!(time.to_consensus_u32(), t);
/// let time = absolute::MedianTimePast::from_u32(t)?;
/// assert_eq!(time.to_u32(), t);
/// # Ok::<_, absolute::ConversionError>(())
/// ```
#[inline]
pub const fn from_u32(n: u32) -> Result<Self, ConversionError> {
@ -205,6 +216,14 @@ impl MedianTimePast {
}
/// Converts this [`MedianTimePast`] to a raw `u32` value.
///
/// # Examples
///
/// ```rust
/// use bitcoin_units::locktime::absolute;
///
/// assert_eq!(absolute::MedianTimePast::MIN.to_u32(), 500_000_000);
/// ```
#[inline]
pub const fn to_u32(self) -> u32 { self.0 }

View File

@ -30,7 +30,7 @@ impl NumberOfBlocks {
#[inline]
pub const fn from_height(blocks: u16) -> Self { Self(blocks) }
/// Express the [`Height`] as a count of blocks.
/// Express the [`NumberOfBlocks`] as a count of blocks.
#[inline]
#[must_use]
pub const fn to_height(self) -> u16 { self.0 }