Commit b9e4e4c
committed
Merge #1950: feat!(chain): implement
8b17bcf feat!(chain): implement `first_seen` tracking (uvuvuwu)
Pull request description:
### Description
This PR solves issue #1947 by implementing `first_seen` tracking.
* Added `first_seen` field to `TxGraph` and `ChangeSet` so that `first_seen` timestamp can be added when inserting a new seen-at using `insert_seen_at`.
* `first_seen` added to `TxNode` as a way to retrieve the first-seen timestamp for a transaction.
* `first_seen` added to `ChainPosition::Unconfirmed` to order unconfirmed transactions by `first_seen`.
* New tests have been added for the above described functionalities.
### Changelog notice
* Add tracking first-seen timestamps of transactions
<!-- Notice the release manager should include in the release tag message changelog -->
<!-- See https://keepachangelog.com/en/1.0.0/ for examples -->
### Checklists
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [x] I've added tests for the new feature
* [x] I've added docs for the new feature
ACKs for top commit:
evanlinjin:
ACK 8b17bcf
Tree-SHA512: effb95704181f80ca25b63f5cf42b7a9357895647abefa91d4cc7ade7604bcfa4cca663d3916b935b520d935cf562412c5238f96636a428d115bf56b1957c9d5first_seen tracking4 files changed
Lines changed: 229 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
| |||
58 | 62 | | |
59 | 63 | | |
60 | 64 | | |
61 | | - | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
62 | 72 | | |
63 | 73 | | |
64 | 74 | | |
| |||
165 | 175 | | |
166 | 176 | | |
167 | 177 | | |
| 178 | + | |
168 | 179 | | |
169 | 180 | | |
170 | 181 | | |
| 182 | + | |
171 | 183 | | |
172 | 184 | | |
173 | 185 | | |
| |||
197 | 209 | | |
198 | 210 | | |
199 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
200 | 258 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| |||
195 | 196 | | |
196 | 197 | | |
197 | 198 | | |
| 199 | + | |
198 | 200 | | |
199 | 201 | | |
200 | 202 | | |
| |||
214 | 216 | | |
215 | 217 | | |
216 | 218 | | |
| 219 | + | |
| 220 | + | |
217 | 221 | | |
218 | | - | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
| |||
337 | 341 | | |
338 | 342 | | |
339 | 343 | | |
340 | | - | |
| 344 | + | |
| 345 | + | |
341 | 346 | | |
342 | 347 | | |
343 | 348 | | |
| |||
348 | 353 | | |
349 | 354 | | |
350 | 355 | | |
351 | | - | |
| 356 | + | |
352 | 357 | | |
353 | 358 | | |
354 | 359 | | |
| |||
372 | 377 | | |
373 | 378 | | |
374 | 379 | | |
375 | | - | |
| 380 | + | |
| 381 | + | |
376 | 382 | | |
377 | 383 | | |
378 | 384 | | |
| |||
787 | 793 | | |
788 | 794 | | |
789 | 795 | | |
790 | | - | |
| 796 | + | |
791 | 797 | | |
792 | | - | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
793 | 805 | | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
794 | 838 | | |
795 | 839 | | |
796 | 840 | | |
| |||
904 | 948 | | |
905 | 949 | | |
906 | 950 | | |
| 951 | + | |
907 | 952 | | |
908 | 953 | | |
909 | 954 | | |
| |||
978 | 1023 | | |
979 | 1024 | | |
980 | 1025 | | |
981 | | - | |
| 1026 | + | |
| 1027 | + | |
982 | 1028 | | |
983 | 1029 | | |
984 | 1030 | | |
985 | | - | |
| 1031 | + | |
| 1032 | + | |
986 | 1033 | | |
987 | 1034 | | |
988 | 1035 | | |
| |||
1003 | 1050 | | |
1004 | 1051 | | |
1005 | 1052 | | |
| 1053 | + | |
1006 | 1054 | | |
1007 | 1055 | | |
1008 | | - | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
1009 | 1060 | | |
1010 | 1061 | | |
1011 | 1062 | | |
| |||
1372 | 1423 | | |
1373 | 1424 | | |
1374 | 1425 | | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
1375 | 1429 | | |
1376 | 1430 | | |
1377 | 1431 | | |
| |||
1380 | 1434 | | |
1381 | 1435 | | |
1382 | 1436 | | |
| 1437 | + | |
1383 | 1438 | | |
1384 | 1439 | | |
1385 | 1440 | | |
| |||
1428 | 1483 | | |
1429 | 1484 | | |
1430 | 1485 | | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
1431 | 1498 | | |
1432 | 1499 | | |
1433 | 1500 | | |
| |||
1450 | 1517 | | |
1451 | 1518 | | |
1452 | 1519 | | |
| 1520 | + | |
1453 | 1521 | | |
1454 | 1522 | | |
1455 | 1523 | | |
| |||
1470 | 1538 | | |
1471 | 1539 | | |
1472 | 1540 | | |
| 1541 | + | |
1473 | 1542 | | |
1474 | 1543 | | |
1475 | 1544 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
632 | 632 | | |
633 | 633 | | |
634 | 634 | | |
635 | | - | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
636 | 639 | | |
637 | 640 | | |
638 | 641 | | |
| |||
661 | 664 | | |
662 | 665 | | |
663 | 666 | | |
664 | | - | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
665 | 671 | | |
666 | 672 | | |
667 | 673 | | |
| |||
674 | 680 | | |
675 | 681 | | |
676 | 682 | | |
677 | | - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
678 | 687 | | |
679 | 688 | | |
680 | 689 | | |
| |||
0 commit comments