When enacting a fork, there is a problem where children that were formed before a validator change have the wrong set of validators.
The validators should only be able to change as the last thing that happens in the pulse, or the first, or it should only take effect in the next pulse.
Or the child validators should always be a reference to the root, or to the parent, so that we need to walk to the root to get the validators.
This problem is narrowly avoided in forking since forking occurs after the block as been modified as much as it possibly can already.
When enacting a fork, there is a problem where children that were formed before a validator change have the wrong set of validators.
The validators should only be able to change as the last thing that happens in the pulse, or the first, or it should only take effect in the next pulse.
Or the child validators should always be a reference to the root, or to the parent, so that we need to walk to the root to get the validators.
This problem is narrowly avoided in forking since forking occurs after the block as been modified as much as it possibly can already.