Part of orphan resolution project, see #27463.
Definitions:
- Announcement is a unique pair (wtxid, nodeid). We can have multiple announcers for the same orphan since #31397.
- Size is the weight of an orphan. I’m calling it “size” and “bytes” because I think we can refine it in the future to be memusage or be otherwise more representative of the orphan’s actual cost on our memory. However, I am open to naming changes.
This is part 1/2 of a project to also add limits on orphan size and count. However, this PR does not change behavior, just adds internal counters/tracking and a fuzzer. I will also open a second PR that adds behavior changes, which requires updating a lot of our tests and careful thinking about DoS.