From 319e102fed6bcf9d6c2a2d68a62d20ce9200eb7c Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Thu, 7 Mar 2024 17:24:43 +0000 Subject: [PATCH] relative locktime: use From/TryFrom to convert between relative locktimes and Sequence --- bitcoin/src/blockdata/locktime/relative.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bitcoin/src/blockdata/locktime/relative.rs b/bitcoin/src/blockdata/locktime/relative.rs index 0c047ab0..6b09771f 100644 --- a/bitcoin/src/blockdata/locktime/relative.rs +++ b/bitcoin/src/blockdata/locktime/relative.rs @@ -6,7 +6,7 @@ //! whether bit 22 of the `u32` consensus value is set. //! -use core::{cmp, fmt}; +use core::{cmp, convert, fmt}; #[cfg(all(test, mutate))] use mutagen::mutate; @@ -307,6 +307,17 @@ impl fmt::Display for LockTime { } } +impl convert::TryFrom for LockTime { + type Error = DisabledLockTimeError; + fn try_from(seq: Sequence) -> Result { + LockTime::from_sequence(seq) + } +} + +impl From for Sequence { + fn from(lt: LockTime) -> Sequence { lt.to_sequence() } +} + /// Error returned when a sequence number is parsed as a lock time, but its /// "disable" flag is set. #[derive(Debug, Clone, Eq, PartialEq)]