Skip to content

[qa] Fix checkpoints for the DAA activation block

Summary

The DAA activated when height = X, but the actual activation block was X + 1. The reason why this is has to do with how activation works (you activate new rules at height X, but the block following X has the new rules in place!).

A number of our checkpoints in early days of BCH suffered from off-by-1 errors here (see: MRs !1539 (merged) and !1540 (merged)). This MR is a follow-up to those to correct the DAA activation block checkpoint being 1 block too early.

While it doesn't matter much practically, it does makes sense for historical reasons to fix the checkpoints to be the actual block that was the forking block for a particular rules change, and not the preceding block which was not using the new rules yet. One might imagine someone reading our code and using these hashes for some other tool in the future and since code is a form of documentation, it's best to document these historical blocks of interest precisely.

Test Plan

  • ninja all check
  • Verify that the proposed changed hashes are on the mainnet and/or testnet3 chains respectively, at the specified height (use a block explorer or a full node RPC to accomplish this).

Merge request reports