Repository navigation
Commit 4c3b31c
committed
Date mempool absences with our own clock
The bitcoind chain source dated a transaction's absence from the
mempool with the newest mempool entry time it had seen since startup.
That watermark restarts at zero while the transaction's `last_seen`
persists with the wallet, and BDK keeps an evicted transaction
canonical until its eviction catches up with `last_seen`, so a
transaction that vanished while we were down kept its input marked
spent and its change counted as ours.
Date the observations we hand BDK with our local clock instead, as the
Esplora and Electrum sources and upstream `bdk_bitcoind_rpc` do, and
keep the entry-time watermark for emission deduplication only.
This only bites after a restart, and only while the mempool holds
nothing newer than the transaction: otherwise the first poll re-emits
the whole mempool and advances the watermark before that same poll
reports any eviction. In practice that means an empty mempool on
signet or regtest, or a similarly idle backend, and the next
transaction to arrive resolves it anyway.
Co-Authored-By: HAL 90001 parent 144a158 commit 4c3b31c
2 files changed
Lines changed: 152 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
791 | 791 | | |
792 | 792 | | |
793 | 793 | | |
794 | | - | |
| 794 | + | |
795 | 795 | | |
796 | 796 | | |
797 | 797 | | |
798 | 798 | | |
799 | 799 | | |
800 | 800 | | |
801 | | - | |
| 801 | + | |
802 | 802 | | |
803 | 803 | | |
804 | 804 | | |
| |||
1238 | 1238 | | |
1239 | 1239 | | |
1240 | 1240 | | |
1241 | | - | |
| 1241 | + | |
1242 | 1242 | | |
1243 | 1243 | | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
1244 | 1247 | | |
1245 | 1248 | | |
1246 | 1249 | | |
| |||
1273 | 1276 | | |
1274 | 1277 | | |
1275 | 1278 | | |
1276 | | - | |
1277 | | - | |
| 1279 | + | |
| 1280 | + | |
1278 | 1281 | | |
1279 | 1282 | | |
1280 | 1283 | | |
1281 | 1284 | | |
1282 | 1285 | | |
1283 | | - | |
1284 | | - | |
| 1286 | + | |
| 1287 | + | |
1285 | 1288 | | |
1286 | 1289 | | |
1287 | 1290 | | |
| |||
1304 | 1307 | | |
1305 | 1308 | | |
1306 | 1309 | | |
1307 | | - | |
| 1310 | + | |
1308 | 1311 | | |
1309 | | - | |
1310 | 1312 | | |
1311 | 1313 | | |
1312 | 1314 | | |
1313 | 1315 | | |
1314 | 1316 | | |
1315 | | - | |
| 1317 | + | |
1316 | 1318 | | |
1317 | | - | |
1318 | 1319 | | |
1319 | 1320 | | |
1320 | 1321 | | |
| |||
1324 | 1325 | | |
1325 | 1326 | | |
1326 | 1327 | | |
1327 | | - | |
1328 | 1328 | | |
1329 | 1329 | | |
1330 | 1330 | | |
1331 | | - | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
1332 | 1334 | | |
1333 | 1335 | | |
1334 | 1336 | | |
1335 | 1337 | | |
1336 | | - | |
| 1338 | + | |
1337 | 1339 | | |
1338 | 1340 | | |
1339 | 1341 | | |
| |||
1618 | 1620 | | |
1619 | 1621 | | |
1620 | 1622 | | |
1621 | | - | |
| 1623 | + | |
1622 | 1624 | | |
1623 | | - | |
| 1625 | + | |
1624 | 1626 | | |
1625 | 1627 | | |
1626 | 1628 | | |
| |||
1631 | 1633 | | |
1632 | 1634 | | |
1633 | 1635 | | |
1634 | | - | |
| 1636 | + | |
1635 | 1637 | | |
1636 | 1638 | | |
1637 | 1639 | | |
1638 | 1640 | | |
1639 | 1641 | | |
| 1642 | + | |
| 1643 | + | |
| 1644 | + | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
1640 | 1672 | | |
1641 | 1673 | | |
1642 | 1674 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4414 | 4414 | | |
4415 | 4415 | | |
4416 | 4416 | | |
| 4417 | + | |
| 4418 | + | |
| 4419 | + | |
| 4420 | + | |
| 4421 | + | |
| 4422 | + | |
| 4423 | + | |
| 4424 | + | |
| 4425 | + | |
| 4426 | + | |
| 4427 | + | |
| 4428 | + | |
| 4429 | + | |
| 4430 | + | |
| 4431 | + | |
| 4432 | + | |
| 4433 | + | |
| 4434 | + | |
| 4435 | + | |
| 4436 | + | |
| 4437 | + | |
| 4438 | + | |
| 4439 | + | |
| 4440 | + | |
| 4441 | + | |
| 4442 | + | |
| 4443 | + | |
| 4444 | + | |
| 4445 | + | |
| 4446 | + | |
| 4447 | + | |
| 4448 | + | |
| 4449 | + | |
| 4450 | + | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
| 4454 | + | |
| 4455 | + | |
| 4456 | + | |
| 4457 | + | |
| 4458 | + | |
| 4459 | + | |
| 4460 | + | |
| 4461 | + | |
| 4462 | + | |
| 4463 | + | |
| 4464 | + | |
| 4465 | + | |
| 4466 | + | |
| 4467 | + | |
| 4468 | + | |
| 4469 | + | |
| 4470 | + | |
| 4471 | + | |
| 4472 | + | |
| 4473 | + | |
| 4474 | + | |
| 4475 | + | |
| 4476 | + | |
| 4477 | + | |
| 4478 | + | |
| 4479 | + | |
| 4480 | + | |
| 4481 | + | |
| 4482 | + | |
| 4483 | + | |
| 4484 | + | |
| 4485 | + | |
| 4486 | + | |
| 4487 | + | |
| 4488 | + | |
| 4489 | + | |
| 4490 | + | |
| 4491 | + | |
| 4492 | + | |
| 4493 | + | |
| 4494 | + | |
| 4495 | + | |
| 4496 | + | |
| 4497 | + | |
| 4498 | + | |
| 4499 | + | |
| 4500 | + | |
| 4501 | + | |
| 4502 | + | |
| 4503 | + | |
| 4504 | + | |
| 4505 | + | |
| 4506 | + | |
| 4507 | + | |
| 4508 | + | |
| 4509 | + | |
| 4510 | + | |
| 4511 | + | |
| 4512 | + | |
| 4513 | + | |
| 4514 | + | |
| 4515 | + | |
| 4516 | + | |
| 4517 | + | |
| 4518 | + | |
| 4519 | + | |
4417 | 4520 | | |
0 commit comments