This PR corrects a few places were incorrect error codes are send in reject messages, or where reject messages are sent when they shouldn’t be:
- if a block failed to validate due to CheckQueue returning false, we should send a reject message with REJECT_INVALID
- if we reject a block because it’s a fork from the chain before a checkpoint block that we’ve already processed, we should send a reject message with REJECT_CHECKPOINT
- if we reject a block because we don’t have it’s parent block, we shouldn’t send a reject message (because the block is not necessarily invalid). @sdaftuar we discussed this. Let me know if you have any questions.