Previously, we would process any valid inventory or refs announcement. This could cause problems for keeping sync statuses, as we could get a refs announcement from a node that isn't in our database. In practice, there is no good reason why we should receive a refs or inventory announcement before the announcer's node announcement, unless nodes are not following the protocol. Implementing this change meant that many of the tests needed updating, as it wasn't assumed that a node announcement was needed before receiving inventories etc. from a peer. We also had to implement a basic form of node address banning to make the tests pass after this change. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| Dockerfile | ||