Use the uint256 type instead of uint64 in NodeOperatorsRegestry to work with node operator validators' data. Validate that the resulting value doesn't exceed the UINT64_MAX in the Packed64x4.set() method.
Replace calculations on signed variables with equivalent on unsigned int type
Prevent math operation overflows using SafeMath or asserts before/after calculations
NodeOperatorsRegistry contract size reduced from 23.971 to 23.169 KB
Gase changes for most often used methods based on unit tests
@Psirex please consider resolving the conflicts by integrating the changes from the upstream branch (have divergent changes of the lastly pushed commits) :pray:
List of changes:
uint256
type instead ofuint64
inNodeOperatorsRegestry
to work with node operator validators' data. Validate that the resulting value doesn't exceed theUINT64_MAX
in thePacked64x4.set()
method.SafeMath
or asserts before/after calculationsNodeOperatorsRegistry contract size reduced from 23.971 to 23.169 KB
obtainDepositData()
onExitedAndStuckValidatorsCountsUpdated()
updateExitedValidatorsCount()