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

R4R: check sequence first to save gas for relayer #3

Merged
merged 1 commit into from
May 25, 2020

Conversation

abelliumnt
Copy link
Contributor

It is possible that multiple bsc-relayer will relayer the same packages. And only the transactions from first relayer will be successful, while the transactions from other ones will be reverted. This situation will be very common. To reduce the cost of failed transactions, the sequence should be check firstly, if the sequence is occupied, other transactions will be aborted immediately.

@unclezoro unclezoro merged commit 8b8f767 into develop May 25, 2020
@unclezoro unclezoro deleted the check-sequence-first branch May 25, 2020 02:36
@abelliumnt abelliumnt mentioned this pull request Jul 3, 2020
realuncle pushed a commit to realuncle/bsc-genesis-contract that referenced this pull request Mar 23, 2022
* 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
cosinlink pushed a commit that referenced this pull request Apr 27, 2022
* [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 <[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>
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 <[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 (#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.

2 participants