Remote proofs are only tracked by proofid in the peer manager, so the contender cache needs to continuously "promote" cache entries since it does not store the proofs themselves. Each time promotion is attempted, an indirect validity check is done to ensure the cache is not tracking invalid proofs.
Details
Details
- Reviewers
Fabien - Group Reviewers
Restricted Owners Package (Owns No Changed Paths) Restricted Project - Commits
- rABCff7cabede390: [avalanche] Add a way to promote old entries in the contender cache to a new…
ninja check-avalanche-stakecontendercache_tests
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- sw-promotetoblock
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 30783 Build 61080: Build Diff lint-circular-dependencies · build-without-wallet · build-diff · build-debug · build-clang-tidy · build-clang Build 61079: arc lint + arc unit
Event Timeline
src/avalanche/stakecontendercache.h | ||
---|---|---|
144 ↗ | (On Diff #50252) | I don't understand the point of this function. Do you need to do something different that what is in the summary ? |
src/avalanche/test/stakecontendercache_tests.cpp | ||
383 ↗ | (On Diff #50252) | Nit, here and below |
src/avalanche/stakecontendercache.h | ||
---|---|---|
144 ↗ | (On Diff #50252) | The point is to check the peer manager if the proof is still valid. An alternative is to pass the peer manager in and let the cache do the checks that it wants, but that didn't seem right for two reasons:
|
Comment Actions
Pass peer manager down per feedback. This no longer black boxes the logic of the proof validity check and the testing is not significantly worse.