-
Notifications
You must be signed in to change notification settings - Fork 1.2k
backport: merge bitcoin#20146, #20477, #20624, #19972, #20724, #19884, #21165, #20721, #21254, partial bitcoin#19829 (networking backports) #5952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PastaPastaPasta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly LGTM
src/net.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
20477: nit: missing added optional include? probably compiles fine due to other headers already including; but we should IWYU
src/net.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
20477: nit whitespace diff with upstream could result in conflicts in future
PastaPastaPasta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 99e87c98fab273965b05ea2b2d366bf925bca234
Makes resolving merge conflicts easier
… peers.dat is empty
|
Branch re-pushed to have commits arranged in order of upstream merger. No changes in diff or conflicts caused by re-org. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-utACK 0d90465
UdjinM6
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK
Additional Information
bitcoin#19884 doesn't seem to play nice on its own and necessitated two more backports (namely bitcoin#21165 and bitcoin#21254) before it did.
Trying to find why that is has been time consuming but there doesn't seem to be a concrete answer. If running the daemon normally (
dashd --regtest --dnsseed=1), the functionality behaves as expected but the test still fails.The closest explanation is that our OOO backports with relation to mocking time could explain why it isn't working as expected due to debug statements I added that always shown the time delta between each "enough time has passed" check was 0 seconds even when the log was advancing forward in time.
The usage of
dnsseed=0stems from bitcoin#16551 (link to diff in commit comment), a backport that was skipped due to complexity. Though, some aspects of the PR have made it with dash#3946.bitcoin#19829 does away with
CConnman::ForEachNodeusage inPeerManagerImpl::UpdatedBlockTip(source). Dash cannot do the same and continues to useForEachNodeas we use theCNode::CanRelaycheck, which is not accessible through thePeerstruct.m_masternode_connection) and migrate them toPeerto avoid Dash-specific patches and closer alignment with upstream.Breaking Changes
Potential change in behaviour in the GUI and RPC.
In RPC,
getpeerinfowill now displaypingwaitandstartingheightiffStateStatsis true (earlier behaviour was unconditional).startingheighthas been placed belowbanscore(earlier behaviour placed it above). In the GUI (Qt),peerHeightandpeerPingWaitare subject to similar conditionality as mentioned earlier.No changes in protocol or consensus. Changes are primarily related to refactoring, cleaning up, improving networking code and adding a new flag (
-fixedseeds).Checklist: