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

[RFC-201/205]: EVM-580-Update validator set in stake manager #1431

Merged

Conversation

goran-ethernal
Copy link
Collaborator

@goran-ethernal goran-ethernal commented Apr 25, 2023

Description

This PR introduces a new concept: stakeManager.

stakeManager does two things:

  • On each block insert (either from syncer or consensus) reads all Transfer events from the ValidatorSet contract on child chain and saves them to the stakeChange bucket in boltDB for the epoch in which occurred (Transfer events carry information about stake change of validators in given epoch).
  • At the end of epoch, it will calculate and provide an updated validator set based on all Transfer events that happened in the previous epoch (epoch that is currently ending).

PR also added UnitTests for stakeManager and its store that saves the Transfer events to boltdb.

IMPORTANT NOTE: e2e tests will fail until all client logic is implemented. Fixing of e2e tests will be the last PR for RFC-201/205 saga.

Changes include

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

  • I have assigned this PR to myself
  • I have added at least 1 reviewer
  • I have added the relevant labels
  • I have updated the official documentation
  • I have added sufficient documentation in code

Testing

  • I have tested this code with the official test suite
  • I have tested this code manually

@goran-ethernal goran-ethernal changed the title Initial changes [RFC-201/205]: EVM-580-Update-validator-set-in-stake-manager Apr 25, 2023
@goran-ethernal goran-ethernal self-assigned this Apr 25, 2023
@goran-ethernal goran-ethernal added the feature New update to Polygon Edge label Apr 25, 2023
@goran-ethernal goran-ethernal changed the title [RFC-201/205]: EVM-580-Update-validator-set-in-stake-manager [RFC-201/205]: EVM-580-Update validator set in stake manager Apr 25, 2023
@goran-ethernal goran-ethernal marked this pull request as ready for review April 25, 2023 13:55
@goran-ethernal goran-ethernal merged commit 1e742a8 into feat/validator-storage-rework Apr 26, 2023
@goran-ethernal goran-ethernal deleted the EVM-580-Update-validator-set branch April 26, 2023 10:55
@github-actions github-actions bot locked and limited conversation to collaborators Apr 26, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New update to Polygon Edge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants