There are two different things that are added related to this PR:
support for start/stop vs suspend/resume the voting period. The idea is that after you stop an election voting period it cannot be re-started, but when you suspend it temporarely, it can be resumed later on.
Enforcement of election state controls. This is optional, but now it *will be enabled by default (BREAKING CHANGE). When enabled (it can be disabled in config.yml throught the config.agora_elections.enforce_state_controls option), this enforcement means that we'll apply higher restrictions on what state transitions are allowed. For example, starting an election when it is already stopped won't be allowed - unless this enforcement setting is disabled. The same kind of logic applies to all other election state transitions.
There are two different things that are added related to this PR:
config.yml
throught theconfig.agora_elections.enforce_state_controls
option), this enforcement means that we'll apply higher restrictions on what state transitions are allowed. For example, starting an election when it is already stopped won't be allowed - unless this enforcement setting is disabled. The same kind of logic applies to all other election state transitions.