foundry
foundry copied to clipboard
Organize validator set
Types
Eventually, we will have only 3 types for validators.
-
ctypes::Validator- It has two fields:public_keyandweight. -
ctypes::ValidatorSet- It is a newtype ofVec<Validator>, but it save it sorted, and provides methods to save to/load from state. Also, its hash will be directly written in block header. -
foundry_graphql_engine::ValidatorGraphQL resolver for validator.
All other types will be completely removed. (NextValidatorSet, CurrentValidatorSet, SimpleValidator, WeightOrderedValidators, ...)
Naming
Validators -> Validator set delegation/deposit/ ... -> weight
Next / Current
Both will be saved, but share same type ValidatorSet.
Coordinator-Module interface
Will be asked to return only Vec<Validator> as the validator set.
Test
We have to add various e2e tests that involve multiple nodes + varying validator set.