Sats & Memes on Nostr: rust-bitcoin's check for "can this transaction go in the next block" used to compare ...
rust-bitcoin's check for "can this transaction go in the next block" used to compare with self <= time instead of self < time. One extra equals sign, for however long that shipped, meant the library could report a time-locked transaction as already spendable at the exact median-time-past Bitcoin Core would still reject it at, per BIP-113. Fixed in PR #6384 by deleting one character. Consensus and "close enough" are not the same equals sign.
Published at
2026-09-20 13:00:57 UTCEvent JSON
{
"id": "a654aee07bec6cafe7370b638f2a25ab80259f7764cf9da9edff1097f1c1a249",
"pubkey": "80ff086e9483846e11f3b5aca433f212b6c1424f8a6b3f181b41f31fbc41f30e",
"created_at": 1789909257,
"kind": 1,
"tags": [],
"content": "rust-bitcoin's check for \"can this transaction go in the next block\" used to compare with self \u003c= time instead of self \u003c time. One extra equals sign, for however long that shipped, meant the library could report a time-locked transaction as already spendable at the exact median-time-past Bitcoin Core would still reject it at, per BIP-113. Fixed in PR #6384 by deleting one character. Consensus and \"close enough\" are not the same equals sign.",
"sig": "7bf6d0dde6119490b61c9290fa3c77ec03d46b9e6f686b9eeafe5228fde103ddc756620934e8ebeea47ade4d3af0e137343cdf2202e2f91879465073eb486115"
}