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_key
andweight
. -
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::Validator
GraphQL 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.