[HAL-02] fix: update random number generation #53
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When we have 3 or more node operators in the system, the contracts will try to dispatch the funds coming in between all the operators. To do this, we’re using a low entropy source: the block hash. We use the values as random numbers to select the node operator index that will receive the next validator deposit. This ensures that the distribution is fair. The issue is that we’re using the block hash of the current block, but this value is always equal to 0 and we should be using the value of the previous block hash.
Instead of
blockhash(block.number)
, we now useblockhash(block.number - 1)
.