Commit c33e0dc
fix!: Correct absolute timelock boundary checks
Fix off-by-one error in absolute timelock checks. Bitcoin Core's
`IsFinalTx` uses strict less-than: tx is final when `nLockTime < MTP`
(for time) or `nLockTime < blockHeight` (for height). The previous
checks used `>` but should use `>=` to match Core's behavior.
Also add 4 new time-based timelock tests that verify BDK's predictions
match Bitcoin Core's actual broadcast acceptance at exact boundaries:
- test_absolute_time_timelock_logic (integration)
- test_relative_time_timelock_logic (integration)
- test_is_time_timelocked_absolute_unit
- test_is_time_timelocked_relative_unit
Patch miniscript to fix Plan::satisfy() not appending witnessScript
for P2WSH descriptors (rust-bitcoin/rust-miniscript#XXX).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 71468bc commit c33e0dc
2 files changed
Lines changed: 690 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
0 commit comments