mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
091d813e00
9075d13153ce06cd59a45644831ecc43126e1e82 [docs] Add release notes for removal of REJECT reasons (John Newbery)
04a2f326ec0f06fb4fce1c4f93500752f05dede8 [validation] Fix REJECT message comments (John Newbery)
e9d5a59e34ff2d538d8f5315efd9908bf24d0fdc [validation] Remove REJECT code from CValidationState (John Newbery)
0053e16714323c1694c834fdca74f064a1a33529 [logging] Don't log REJECT code when transaction is rejected (John Newbery)
a1a07cfe99fc8cee30ba5976dc36b47b1f6532ab [validation] Fix peer punishment for bad blocks (John Newbery)
Pull request description:
We no longer send BIP 61 REJECT messages, so there's no need to set
a REJECT code in the CValidationState object.
Note that there is a minor bug fix in p2p behaviour here. Because the
call to `MaybePunishNode()` in `PeerLogicValidation::BlockChecked()` only
previously happened if the REJECT code was > 0 and < `REJECT_INTERNAL`,
then there are cases were `MaybePunishNode()` can get called where it
wasn't previously:
- when `AcceptBlockHeader()` fails with `CACHED_INVALID`.
- when `AcceptBlockHeader()` fails with `BLOCK_MISSING_PREV`.
Note that `BlockChecked()` cannot fail with an 'internal' reject code. The
only internal reject code was `REJECT_HIGHFEE`, which was only set in
ATMP.
This reverts a minor bug introduced in 5d08c9c579
.
ACKs for top commit:
ariard:
ACK 9075d13, changes since last reviewed are splitting them in separate commits to ease understanding and fix nits
fjahr:
ACK 9075d13153ce06cd59a45644831ecc43126e1e82, confirmed diff to last review was fixing nits in docs/comments.
ryanofsky:
Code review ACK 9075d13153ce06cd59a45644831ecc43126e1e82. Only changes since last review are splitting the main commit and updating comments
Tree-SHA512: 58e8a1a4d4e6f156da5d29fb6ad6a62fc9c594bbfc6432b3252e962d0e9e10149bf3035185dc5320c46c09f3e49662bc2973ec759679c0f3412232087cb8a3a7
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
P2P and network changes
|
|
-----------------------
|
|
|
|
#### Removal of reject network messages from Dash Core (BIP61)
|
|
|
|
The command line option to enable BIP61 (`-enablebip61`) has been removed.
|
|
|
|
This feature has been disabled by default since Dash Core version 0.19.0.
|
|
Nodes on the network can not generally be trusted to send valid ("reject")
|
|
messages, so this should only ever be used when connected to a trusted node.
|
|
|
|
Since Dash Core version 0.20.0 there are extra changes:
|
|
|
|
The removal of BIP61 REJECT message support also has the following minor RPC
|
|
and logging implications:
|
|
|
|
* `testmempoolaccept` and `sendrawtransaction` no longer return the P2P REJECT
|
|
code when a transaction is not accepted to the mempool. They still return the
|
|
verbal reject reason.
|
|
|
|
* Log messages that previously reported the REJECT code when a transaction was
|
|
not accepted to the mempool now no longer report the REJECT code. The reason
|
|
for rejection is still reported.
|
|
|
|
Updated RPCs
|
|
------------
|
|
|
|
- `testmempoolaccept` and `sendrawtransaction` no longer return the P2P REJECT
|
|
code when a transaction is not accepted to the mempool. See the Section
|
|
_Removal of reject network messages from Bitcoin Core (BIP61)_ for details on
|
|
the removal of BIP61 REJECT message support.
|