Filter out offending validators by zeroing their keys. GP eq (115–128).
7.5. Validator Management (§6)
def
Jar.filterOffenders (keys : Array Jar.ValidatorKey) (offenders : Array Ed25519PublicKey) : Array Jar.ValidatorKeyJar.filterOffenders (keys : Array Jar.ValidatorKey) (offenders : Array Ed25519PublicKey) : Array Jar.ValidatorKey
def
Jar.updateActiveValidators [Jar.JamConfig] (kappa : Array Jar.ValidatorKey) (gamma : Jar.SafroleState) (t t' : Jar.Timeslot) (offenders : Array Ed25519PublicKey) : Array Jar.ValidatorKeyJar.updateActiveValidators [Jar.JamConfig] (kappa : Array Jar.ValidatorKey) (gamma : Jar.SafroleState) (t t' : Jar.Timeslot) (offenders : Array Ed25519PublicKey) : Array Jar.ValidatorKey
κ' : Active validator set update. GP §6. On epoch change: replace with pending set (filtered). Otherwise: unchanged.
def
Jar.updatePreviousValidators [Jar.JamConfig] (prev kappa : Array Jar.ValidatorKey) (t t' : Jar.Timeslot) : Array Jar.ValidatorKeyJar.updatePreviousValidators [Jar.JamConfig] (prev kappa : Array Jar.ValidatorKey) (t t' : Jar.Timeslot) : Array Jar.ValidatorKey
λ' : Previous validator set update. GP §6. On epoch change: take current active set. Otherwise: unchanged.