rebase again after fixing the wallet dependency introduced in D9441
This new way of generating stakes requires the wallet to be compiled. Fix the test to run only when possible, update the test plan.
Use a different bad proof for the delegateavalancheproof test, so that it does not depend on the wallet.
Rebase after updating dependency D9441
Fix another functional test that was affected by renaming get_stakes
Update the test plan to include the entire functional test suite.
Fix test failure by rebasing onto D9441
Fix missed session key vs master key confusion, reorder the checks to make sure no wrong delegation can be generated
TIL that the halvings are different on regtest than on mainnet. I need to work on a fix for the functional test that uses coinbase UTXOs to build a very large proof, because the coinbase amounts are lower than the dust threshold before I can reach 1000 stakes.
The problem did not appear earlier because this revision had not been rebased for a while, and the problematic test did not exist a couple of weeks ago.
Rebase. The test failures seem unrelated to the revision, and are definitely unrelated to my last amend.
When I backported core#18807, I did not backport the commit introducing this mistake (https://github.com/bitcoin/bitcoin/pull/18807/commits/00d44a534b4e5ae249b8011360c6b0f7dc731581), so the change to P2PTxInvStore is not relevant to our codebase.
refactor the unit test so that any proof size can be tested, increase the number of tested proof sizes
Add a method in the Processor to return if the flag should be set.
Rebase on top of D9440.
Wed, Apr 21
The build failure is an unrelated leveldb spurious failure
Pass the session key by value and move it
Why are the changes to P2PTxInvStore ignored?
Reopening this diff. See improved rationale in the summary.
Append new proof to the end of the container, use a forward iterator for trimming from the front, use the fact that erase already returns an iterator to the next element (no need to increment the iterator again).
Don't encode/decode the session key
Ok, now this is looking more like something that make sense. There is this encoding/decoding of the session key that needs to be addressed, but beside that, it's all good.
Move SaltedProofIdHasher to proofid.h to make it available to both orphanproofpool and peermanager without additional includes.
What about bool hasDustStake(Proof p);?
Don't acquire mininode_lock twice in abc_p2p_avalanche.py.
on_avahello, on_avapoll and on_avaresponse are called indirectly via mininode.P2PInterface.on_message, which does the call with the lock already acquired.
Note to reviewers: the lint errors are false positive from a cppcheck bug introduced in a recent version. There is no such issue if you run arc lint against this patch on Debian.