A lot of changes for the validation rules ;)
I finished the refactoring necessary before kicking off the new governance mechanisms.
I think the structure of the package is more cohesive now and is easier to follow.
There was a lot of test duplication that I removed.
I completely removed the previous governance design because I don't see how it could fit nicely with the updated governance work. Here is what I have in mind for the next PRs:
There are two modes of operation: no governance (no consensus engine, validation rules are loaded from a file with a filewatcher) and with governance (a consensus engine is assumed and we use 100% chainscript and a store to handle governance - as described in the dropbox document)
These two modes are very different and won't implement a shared interface
Instead each mode will be implemented as a store wrapper that only re-implements the CreateLink method and manages the dynamic set of Validator objects
For the governance wrapper, we'll use the store listener mechanism to know when new governance links are stored and thus we need to update the validator set
As you can see it's kind of the opposite design of the previous governance. The previous governance objects were broadcasting the validator set when it was updated, whereas now we will hide the validator set and only use it inside a store wrapper.
A lot of changes for the validation rules ;) I finished the refactoring necessary before kicking off the new governance mechanisms. I think the structure of the package is more cohesive now and is easier to follow. There was a lot of test duplication that I removed.
I completely removed the previous governance design because I don't see how it could fit nicely with the updated governance work. Here is what I have in mind for the next PRs:
As you can see it's kind of the opposite design of the previous governance. The previous governance objects were broadcasting the validator set when it was updated, whereas now we will hide the validator set and only use it inside a store wrapper.
This change is