Page MenuHomePhabricator

Merge #10775: nCheckDepth chain height fix
ClosedPublic

Authored by jasonbcox on Mar 14 2019, 18:51.

Details

Reviewers
deadalnix
Fabien
Group Reviewers
Restricted Project
Commits
rABC68777835645a: Merge #10775: nCheckDepth chain height fix
Summary

d9d1bd3 nCheckDepth chain height fix (romanornr)

Pull request description:

`
  if (nCheckDepth <= 0)
      nCheckDepth = 1000000000; // suffices until the year 19000
  if (nCheckDepth > chainActive.Height())
      nCheckDepth = chainActive.Height();
  ````

  These lines confuse me.
  Correct me if I am wrong, but we can't check any more blocks than we have right?
  If someone requests <= 0 it get set it into some huge number and then immediately limit it to the chain height in the following statement.
  ````
  if (nCheckDepth > chainActive.Height())
      nCheckDepth = chainActive.Height();
  ````
  when using ````--checkblocks=Z```` When Z is ````0```` or any other negative number, it will check all blocks.

  I think it should be changed to this maybe.
  ````
  if (nCheckDepth <= 0 || nCheckDepth > chainActive.Height())
      nCheckDepth = chainActive.Height();
  ````
  Which gets rid of that huge number which is confusing for any other altcoins that have a different block time.

Tree-SHA512: 8ee0ae5f33b399fa74dc16926709694ccfe1fc8a043cba2f5d00884220ac1b9b13f2df4588041f4133be634e5c7b14f4eebe24294028dafe91581a97dbe627f3

Backport of Core PR 10775
https://github.com/bitcoin/bitcoin/pull/10775/files

Test Plan

ninja check
test_runner.py

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jasonbcox created this revision.Mar 14 2019, 18:51
Herald added a reviewer: Restricted Project. · View Herald TranscriptMar 14 2019, 18:51
Herald added a subscriber: schancel. · View Herald Transcript
Fabien accepted this revision.Mar 14 2019, 19:11
This revision is now accepted and ready to land.Mar 14 2019, 19:11
This revision was automatically updated to reflect the committed changes.