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

Implement bep-127 and bep-131 #131

Merged
merged 24 commits into from
Apr 27, 2022
Merged

Conversation

gothery001
Copy link
Contributor

@gothery001 gothery001 commented Mar 21, 2022

BEP-127: Temporary Maintenance Mode for Validators

  • This BEP introduces the Temporary Maintenance mode for validators on the BNB Smart Chain.

BEP-131: Introduce candidate validators onto BNB Smart Chain

  • This BEP introduces candidate validators onto BNB Smart Chain to improve the liveness and robustness of the network.

fix bugs

  • fix bug that validatorSet order was changed incorrectly while _felony in _forceMaintainingValidatorsExit, using numOfCabinets not init
  • fix bug that slash count calculation problem while updating validator set

gothery001 and others added 24 commits February 25, 2022 17:54
* feat: new implement of bep-127 and test

* fix: review comments

* fix: add re-init for validatorExtraSet

* fix: template file sync

* fix: validatorExtraSet should init at the same time as `maxNumOfMaintaining` init

* modify config

* fix: maintainInfo leak at next 24-hours

* chores: add comment

* fix: `isCurrentValidator` error before `validatorExtraSet` init

* chore

* test: add test case for BSCValidatorSet

* test: add view test case for BSCValidatorSet

* chore: modify comments

* fix: numOfMaintaining modification on edge case

* fix: review comments

* test: add code size log

* chore: optimize new ValidatorExtra

* fix: numOfMaintaining edge case

* fix: add exitMaintenance event

* fix: add exitMaintenance event

* chore

* fix: remove unused code

* chore
[R4R] Implement bep 131
[R4R]update readme: add chain tool version and format the files.
[R4Rfix testcase on slash and validator contract
…y in _forceMaintainingValidatorsExit, using numOfCabinets not init
fix: bug that validatorSet order was changed incorrectly while _felon…
* fix: issue #BSC-007, add more comment to explain `enterMaintenanceHeight` check

* fix: issue #BSC-001 and #BSC-002, #BSC-003, improve code to save gas

* fix: issue #BSC-008, add comment to explain this

* feat: sync template code with origin code

* feat: rename len to validatorsNum

* chore: modify comment for check

* chore: sync template code

* chore: add more comments to explain `24-hour period`

* fix: k = 0 => k

* fix: j = 0 => j

* feat: sync template code for SlashIndicator.template

Co-authored-by: gothery001 <gothery001>
* fix: incorrectly modified `initValidatorExtraSet`

* chore: sync template code

Co-authored-by: gothery001 <gothery001>
…set (#19)

* feat: add more test case to test slashCount calc problem

* fix: fix workValidatorCount calc incorrectly changed while updateValidatorSet

* chores: sync tmeplate code

* feat: add generate-qa script

* feat: close gas report as default

* feat: modify tests

* chores: add more comments

* chores: add more comments

Co-authored-by: gothery001 <gothery001>
@gothery001 gothery001 changed the base branch from master to develop April 25, 2022 05:52
@cosinlink cosinlink merged commit d3c441a into bnb-chain:develop Apr 27, 2022
unclezoro pushed a commit that referenced this pull request Apr 28, 2022
* Implement bep-127 and bep-131 (#131)

* [R4R]: new implement of BEP-127 (#3)

* feat: new implement of bep-127 and test

* fix: review comments

* fix: add re-init for validatorExtraSet

* fix: template file sync

* fix: validatorExtraSet should init at the same time as `maxNumOfMaintaining` init

* modify config

* fix: maintainInfo leak at next 24-hours

* chores: add comment

* fix: `isCurrentValidator` error before `validatorExtraSet` init

* chore

* test: add test case for BSCValidatorSet

* test: add view test case for BSCValidatorSet

* chore: modify comments

* fix: numOfMaintaining modification on edge case

* fix: review comments

* test: add code size log

* chore: optimize new ValidatorExtra

* fix: numOfMaintaining edge case

* fix: add exitMaintenance event

* fix: add exitMaintenance event

* chore

* fix: remove unused code

* chore

* implement bep-131

* update ut

* update logic of felony function

* update the getMiningValidators function

* update logic of the update maxNumOfCandidates function

* fix calculating epoch number

* update _exitMaintenance

* fix comments

* update readme

* fix testcase on slash and validator contract

* fix update maxNumOfMaintaining

* fix: bug that validatorSet order was changed incorrectly while _felony in _forceMaintainingValidatorsExit, using numOfCabinets not init

* feat: modify slots number

* chore: rename var in loop

* Fix audit report of BEP-127 and BEP-131 (#17)

* fix: issue #BSC-007, add more comment to explain `enterMaintenanceHeight` check

* fix: issue #BSC-001 and #BSC-002, #BSC-003, improve code to save gas

* fix: issue #BSC-008, add comment to explain this

* feat: sync template code with origin code

* feat: rename len to validatorsNum

* chore: modify comment for check

* chore: sync template code

* chore: add more comments to explain `24-hour period`

* fix: k = 0 => k

* fix: j = 0 => j

* feat: sync template code for SlashIndicator.template

Co-authored-by: gothery001 <gothery001>

* fix: Bug fix that incorrectly modification of fixing audit report (#18)

* fix: incorrectly modified `initValidatorExtraSet`

* chore: sync template code

Co-authored-by: gothery001 <gothery001>

* fix: bug that slash count calculation problem while update validator set (#19)

* feat: add more test case to test slashCount calc problem

* fix: fix workValidatorCount calc incorrectly changed while updateValidatorSet

* chores: sync tmeplate code

* feat: add generate-qa script

* feat: close gas report as default

* feat: modify tests

* chores: add more comments

* chores: add more comments

Co-authored-by: gothery001 <gothery001>

Co-authored-by: dean65 <dean950605@gmail.com>
Co-authored-by: dean <97718205+dean65@users.noreply.github.com>
Co-authored-by: realuncle <walt@nodereal.io>
Co-authored-by: realuncle <90668111+realuncle@users.noreply.github.com>
Co-authored-by: realuncle <uncledude@sina.com>
Co-authored-by: gothery001 <gothery001>

* chore: modify generate script line in package.json (#139)

* chore: modify generate script line in package.json, generate latest genesis.json for mainnet

* chore: modify readme

Co-authored-by: cosinlink <cosinlink>

Co-authored-by: Gothery <90246878+gothery001@users.noreply.github.com>
Co-authored-by: dean65 <dean950605@gmail.com>
Co-authored-by: dean <97718205+dean65@users.noreply.github.com>
Co-authored-by: realuncle <walt@nodereal.io>
Co-authored-by: realuncle <90668111+realuncle@users.noreply.github.com>
Co-authored-by: realuncle <uncledude@sina.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants