mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-23 07:16:47 +00:00

* [NOD-1126] 1. Change function name in BlockValidator interface from: "ValidateProofOfWorkAndDifficulty" to "ValidatePruningPointViolationAndProofOfWorkAndDifficulty". 2. Add to the blockValidator struct the pruningManager (also added to the function "New" Respectively). 3. Added new function "checkPruningPointViolation" of blockValidator type. 4. Add new internal check - "checkPruningPointViolation", on the function "ValidateProofOfWorkAndDifficulty".(The third check). 5. Add new error rule - "ErrPruningPointViolation". * [Issue-1126] 1. Remove the function "PruningPoint" from PruningManager interface. 2. Changes in blockValidator struct - remove pruningManager, and adding pruningStore. 3. Reads for "pruningPoint" function from pruningStore instead of pruningManager (because of note 1 above) in the functions: * "checkPruningPointViolation" of type blockValidator. * "FindNextPruningPoint" of type pruningManager. * [Issue-1126] 1. Add missing error handling. * [Issue-1126] Changes in function "checkPruningPointViolation": If header = genesis, stop checking and return nil. * [Issue-1126] In function "checkPruningPointViolation" - change from a for loop to the "IsAncestorOfAny" function. * [#1126] "FindNextPruningPoint" - save the pruning point in case the point is the genesis and change code internal order. * [#1126] "FindNextPruningPoint" - cosmetics change. * [#1126] "FindNextPruningPoint" - remove "return nil" when there is no pruning point on the if expression. Co-authored-by: tal <tal@daglabs.com>