Skip to content
  • Dave Collins's avatar
    blockchain: Remove isMajorityVersion code. · 9cdc1b8a
    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.
    9cdc1b8a