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

Fix audit report of BEP-127 and BEP-131 #17

Merged
merged 11 commits into from
Apr 13, 2022

Conversation

gothery001
Copy link

No description provided.

@gothery001 gothery001 changed the title Fix audit report Fix audit report of BEP-127 and BEP-131 Apr 8, 2022
@@ -491,7 +493,7 @@ contract BSCValidatorSet is IBSCValidatorSet, System, IParamSubscriber, IApplica
|| (maxNumOfMaintaining == 0 || maintainSlashScale == 0) // - 1. check if not start
|| numOfMaintaining >= maxNumOfMaintaining // - 2. check if reached upper limit
|| !isWorkingValidator(index) // - 3. check if not working(not jailed and not maintaining)
|| validatorExtraSet[index].enterMaintenanceHeight > 0 // - 5. check if has Maintained
|| validatorExtraSet[index].enterMaintenanceHeight > 0 // - 5. check if has Maintained during one 24-hour period
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am confused by during one 24-hour period

Copy link

@SolidityGo SolidityGo Apr 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EnterMaintenanceHeight is cleared to zero in each 24-hour period, validatorExtraSet[index].enterMaintenanceHeight > 0 could be only used to check if has Maintained in current 24-hour period, this is a more accurate description

contracts/BSCValidatorSet.sol Outdated Show resolved Hide resolved
contracts/BSCValidatorSet.sol Outdated Show resolved Hide resolved
contracts/BSCValidatorSet.sol Outdated Show resolved Hide resolved
@realuncle realuncle merged commit c252462 into Blockorus:develop Apr 13, 2022
gothery001 added a commit to gothery001/bsc-genesis-contract that referenced this pull request Apr 28, 2022
* [R4R]: new implement of BEP-127 (Blockorus#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 (Blockorus#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 (Blockorus#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 (Blockorus#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 <[email protected]>
Co-authored-by: dean <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: gothery001 <gothery001>
realuncle added a commit to node-real/bsc-genesis-contract that referenced this pull request Apr 28, 2022
* Implement bep-127 and bep-131 (bnb-chain#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 (Blockorus#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 (Blockorus#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 (Blockorus#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 <[email protected]>
Co-authored-by: dean <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: gothery001 <gothery001>

* chore: modify generate script line in package.json (bnb-chain#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 <[email protected]>
Co-authored-by: dean65 <[email protected]>
Co-authored-by: dean <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
Co-authored-by: realuncle <[email protected]>
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.

4 participants