- User Since
- Aug 5 2020, 16:14 (37 w, 1 d)
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
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
Wed, Apr 21
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).
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.
Tue, Apr 20
I think the deleted blank line is a result of linting. If I try to restore it, it tells me it's a code style violation
fix the renaming issues.
Mon, Apr 19
Make the size threshold a number of stakes, not a number of proofs.
I still want to change the threshold to be a maximum number of stakes, not a number of proofs. That way, it will actually represent a maximum memory footprint and a maximum number of signatures to verify.
Use a multi-index container to avoid using multiple data structures to remember insertion order.
Contributed by @fabcien
rephrase the misleading comment.
rename recentProofRejects -> rejectedProofs.
I used the recent word to mean that the filter has a limited size and will drop the oldest entries when full. But that is an implementation detail. A proof that enters this pool will be bad forever, there is no reset of the filter done on tip updates, like there is for transactions.
rebase onto master
rebase onto master (this diff has no dependency)
Sun, Apr 18
Fri, Apr 16
rename LOWEST_VALID_SCORE -> MIN_VALID_PROOF_SCORE
This can be abandoned in favor of D9418. The reference to an optional proof is better than a bare pointer.
check also return value of addProof is true
Thu, Apr 15
I get the point that a node that does not vote is not a full avalanche peer. But it can still be a "limited avalanche peer", if it wants to relay proofs and poll other avalanche nodes. We will need some other way of signalling the "limited avalanche" state.
Working on splitting this in smaller pieces, with some refactoring :
I think I just had a
remove the dummy state that is thrown away so that the output argument is actually used
Wed, Apr 14
new attempt at getting this unstuck: restore the proof_randomè test as close as possible to its initial state, don't test for the ProofValidationResult::DUST_THRESOLD`, just make sure the score given to buildRandomProof is always valid.