Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create scheduler v1 #145

Closed
corverroos opened this issue Feb 28, 2022 · 1 comment
Closed

Create scheduler v1 #145

corverroos opened this issue Feb 28, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@corverroos
Copy link
Contributor

Problem to solve

Charon needs to schedule duties as part of the core workflow, we therefore need the component is called the Scheduler.

Proposed solution

As per architecture doc, create a package scheduler

At the start of each epoch

  • It should resolve the validator_index for all DVs in the cluster
  • It should calculate the duties for active validators
  • It should then call fetcher when the duty should be performed
@corverroos corverroos added the enhancement New feature or request label Feb 28, 2022
@corverroos corverroos self-assigned this Feb 28, 2022
corverroos added a commit that referenced this issue Feb 28, 2022
Refactors the tbls.TSS struct to allow for arbitrary data during testing. This allows using know existing validator public keys when testing the scheduler, ensuring that duties that we calculate match those in mainnet.

category: refactor
ticket: #145
corverroos added a commit that referenced this issue Feb 28, 2022
This makes using manifest ENRs as bootnodes explicit; disabling by default.
- Manifest ENRs will probably be invalid bootnodes in most cases. So using them in most cases doens't help.
- When a node acts as bootnode for the others, it should have zero bootnodes itself.

category: feature
ticket: #145
corverroos added a commit that referenced this issue Feb 28, 2022
Implements the first version of the scheduler. For now it just has an integration test. Will improve godocs and add more tests in subsequent PRs if we are happy with the approach.

category: feature
ticket: #145
corverroos added a commit that referenced this issue Mar 1, 2022
Adds unit tests to the scheduler package.

Also adds some helper test utils:
 - app/golden: for golden file testing
 - beaconmock: beacon client mock
 
category: testing
ticket: #145
corverroos added a commit that referenced this issue Mar 1, 2022
Reverts #136 by decoupling the dependency on TSS struct from scheduler, rather provide public keys directly.

Also includes messed up stack PR #150
Adds unit tests to the scheduler package.
Also adds some helper test utils:
 - app/golden: for golden file testing
 - beaconmock: beacon client mock
 
category: refactor
ticket: #145
@corverroos
Copy link
Contributor Author

Implemented and merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant