HomePhabricator

[avalanche] Fix downloading proofs from peers that just inv'ed us

Description

[avalanche] Fix downloading proofs from peers that just inv'ed us

Summary:
There are rules to prevent any peer from requesting any proof for download:
1/ The proof must have been known for a long time, or
2/ The proof should have been recently inv'ed to the peer

There is a missing piece of code for the rule 2. A peer is allowed to request a proof immediately if he received an avahello message but not an inv message containing the proof id. This is the case for example when a node send a proof manually via the sendavalancheproof RPC.

This diff closes the gap and adds a test for this behavior. This comes in conflict with the broadcast test which needs a small adaptation.

Ref T1611.

Test Plan:

ninja all check-all

Reviewers: #bitcoin_abc, PiRK

Reviewed By: #bitcoin_abc, PiRK

Maniphest Tasks: T1611

Differential Revision: https://reviews.bitcoinabc.org/D9818

Details

Provenance
FabienAuthored on Jul 20 2021, 13:40
FabienPushed on Jul 20 2021, 18:14
Reviewer
Restricted Project
Differential Revision
D9818: [avalanche] Fix downloading proofs from peers that just inv'ed us
Parents
rABCa9872acb6f0d: Rebrand the comments in wallet_avoidreuse.py
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task