-
Dave Collins authored
Now that all softforking is done via BIP0009 versionbits, replace the old isMajorityVersion deployment mechanism with hard coded historical block heights at which they became active. Since the activation heights vary per network, this adds new parameters to the chaincfg.Params struct for them and sets the correct heights at which each softfork became active on each chain. It should be noted that this is a technically hard fork since the behavior of alternate chain history is different with these hard-coded activation heights as opposed to the old isMajorityVersion code. In particular, an alternate chain history could activate one of the soft forks earlier than these hard-coded heights which means the old code would reject blocks which violate the new soft fork rules whereas this new code would not. However, all of the soft forks this refers to were activated so far in the chain history there is there is no way a reorg that long could happen and checkpoints reject alternate chains before the most recent checkpoint anyways. Furthermore, the same change was made in Bitcoin Core so this needs to be changed to be consistent anyways.