Skip to content

Organize validator set #560

@junha1

Description

@junha1

Types

Eventually, we will have only 3 types for validators.

  1. ctypes::Validator - It has two fields: public_key and weight.
  2. ctypes::ValidatorSet - It is a newtype of Vec<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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions