- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
All Stories
May 12 2021
Add missing continue, update nullptr position
I'm going to keep looking for solutions, but it is not as simple as I thought. There are methods (e.g. PeerManager::addNode that take a delegation even when it is not strictly necessary, and currently we just build a dummy delegation for this case. So it will either make the delegation mandatory always (or at least specifying a private key to build a delegation locally), even for adding a node via RPC, or we need to make the Delegation an optional parameter for this method.
Rename the flag, remove the unecessary mutex, make the bool check explicit, move proof between block and tx
May 11 2021
Either delegation must have at least one level or they don't. It doesn't make sense to insist on avahello having some special type of delegation.
That is a significant step backward. The contention on cs_main is obviously far greater than the one on the peer manager. What alternative have you considered? Why do they fail?
Rebase
Rebase on top of D9499 to fix the lock order issue
Excuse the linting errors, my cppcheck version still has this false positive bug
there is similar code in D9489
Abandoned in favor of D9489
This can be abandoned. There is similar code in D9478 and Fabien is working on proper proof relaying.
Move the log to the lambda as well
Add missing return; when done with checking the AVAHELLO message.
Add a log message for successful signature verification.
OK I missed that the broadcast set was actually fixing a quadratic issue. So here is the plan:
- Add a set of unbroadcasted proofs to the peer manager
- Make the peer manager remove the proofs from the set as they become invalid
- Add binding at the processor level to add and remove an unbroadcasted proof
- Add manually submitted proofs to the unbroadcasted set
- Remove the proof from the unbroadcasted set on first peer that requested it
- Extend the PeerManager::ReattemptInitialBroadcast() to include the unbroadcasted proofs
May 10 2021
This is doing several thing at once. What about starting with a validateproof RPC?
You'll note that there is a set of message to exchange mempool content, there is no reason to not do the same for proofs, because this is introducing quadratic behavior.
Address feedback
Rebase to fix the build with wallet disabled
Fix the build with no wallet
Move the relay struct initialization to it's first use, guard the send buffer with mutex, rebase on top of D9490.
I'm going to try with const CPubKey &Delegation::getMaster(const Proof &proof) const;
May 9 2021
We may as well land this now IMO.
Drop the conditions for creating the relay structure (not needed at this point), fix the circular dependencies.