dash/src/evo
Wladimir J. van der Laan eec81f7b33 Merge #15921: validation: Tidy up ValidationState interface
3004d5a12d09d94bfc4dee2a8e8f2291996a4aaf [validation] Remove fMissingInputs from AcceptToMemoryPool() (John Newbery)
c428622a5bb1e37b2e6ab2c52791ac05d9271238 [validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders() (John Newbery)
7204c6434b944f6ad51b3c895837729d3aa56eea [validation] Remove useless ret parameter from Invalid() (John Newbery)
1a37de4b3174d19a6d8691ae07e92b32fdfaef11 [validation] Remove error() calls from Invalid() calls (John Newbery)
067981e49246822421a7bcc720491427e1dba8a3 [validation] Tidy Up ValidationResult class (John Newbery)
a27a2957ed9afbe5a96caa5f0f4cbec730d27460 [validation] Add CValidationState subclasses (John Newbery)

Pull request description:

  Carries out some remaining tidy-ups remaining after PR 15141:

  - split ValidationState into TxValidationState and BlockValidationState (commit from ajtowns)
  - various minor code style tidy-ups to the ValidationState class
  - remove the useless `ret` parameter from `ValidationState::Invalid()`
  - remove the now unused `first_invalid` parameter from `ProcessNewBlockHeaders()`
  - remove the `fMissingInputs` parameter from `AcceptToMemoryPool()`, and deal with missing inputs the same way as other errors by using the `TxValidationState` object.

  Tip for reviewers (thanks ryanofsky!): The first commit ("[validation] Add CValidationState subclasses" ) is huge and can be easier to start reviewing if you revert the rote, mechanical changes:

  Substitute the commit hash of commit "[validation] Add CValidationState subclasses" for <CommitHash> in the commands below.

  ```sh
  git checkout <CommitHash>
  git grep -l ValidationState | xargs sed -i 's/BlockValidationState\|TxValidationState/CValidationState/g'
  git grep -l ValidationResult | xargs sed -i 's/BlockValidationResult\|TxValidationResult/ValidationInvalidReason/g'
  git grep -l MaybePunish | xargs sed -i 's/MaybePunishNode\(ForBlock\|ForTx\)/MaybePunishNode/g'
  git diff HEAD^
  ```

  After that it's possible to easily see the mechanical changes with:

  ```sh
  git log -p -n1 -U0 --word-diff-regex=. <CommitHash>
  ```

ACKs for top commit:
  laanwj:
    ACK 3004d5a12d09d94bfc4dee2a8e8f2291996a4aaf
  amitiuttarwar:
    code review ACK 3004d5a12d09d94bfc4dee2a8e8f2291996a4aaf. Also built & ran tests locally.
  fjahr:
    Code review ACK 3004d5a12d09d94bfc4dee2a8e8f2291996a4aaf . Only nit style change and pure virtual destructor added since my last review.
  ryanofsky:
    Code review ACK 3004d5a12d09d94bfc4dee2a8e8f2291996a4aaf. Just whitespace change and pure virtual destructor added since last review.

Tree-SHA512: 511de1fb380a18bec1944ea82b513b6192df632ee08bb16344a2df3c40811a88f3872f04df24bc93a41643c96c48f376a04551840fd804a961490d6c702c3d36
2023-04-17 10:42:25 -05:00
..
cbtx.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
cbtx.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
deterministicmns.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
deterministicmns.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
dmn_types.h refactor/fix: return Invalid mn type instead of crashing on assert in GetMnType (#5209) 2023-02-19 22:18:14 +03:00
dmnstate.cpp feat(rpc): Return HPMN fields (#5243) 2023-03-11 11:45:49 -06:00
dmnstate.h feat(rpc): Return HPMN fields (#5243) 2023-03-11 11:45:49 -06:00
evodb.cpp chore: run copyright_header.py update 2023-01-13 00:49:04 +03:00
evodb.h feat!: 4k collateral high performance masternode implementation (#5039) 2023-02-14 12:48:33 -06:00
mnauth.cpp refactor: misc refactoring (#5260) 2023-04-15 12:24:02 -05:00
mnauth.h refactor: rearrange argument order to be more consistent 2023-02-03 15:25:38 -06:00
mnhftx.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
mnhftx.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
providertx.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
providertx.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
simplifiedmns.cpp refactor: misc refactoring (#5260) 2023-04-15 12:24:02 -05:00
simplifiedmns.h feat: min protocol version check for SML serialisation (#5302) 2023-04-09 00:12:39 -05:00
specialtx.cpp chore: bump copyrights (#4873) 2022-06-08 02:36:46 +03:00
specialtx.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
specialtxman.cpp Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00
specialtxman.h Merge #15921: validation: Tidy up ValidationState interface 2023-04-17 10:42:25 -05:00