diff --git a/contracts/validator/RoninValidatorSet.sol b/contracts/validator/RoninValidatorSet.sol index e9b87c56e..3f068045c 100644 --- a/contracts/validator/RoninValidatorSet.sol +++ b/contracts/validator/RoninValidatorSet.sol @@ -256,14 +256,14 @@ contract RoninValidatorSet is * @inheritdoc IRoninValidatorSet */ function epochOf(uint256 _block) public view virtual override returns (uint256) { - return _block / _numberOfBlocksInEpoch + 1; + return _block == 0 ? 0 : _block / _numberOfBlocksInEpoch + 1; } /** * @inheritdoc IRoninValidatorSet */ function periodOf(uint256 _block) public view virtual override returns (uint256) { - return _block / (_numberOfBlocksInEpoch * _numberOfEpochsInPeriod) + 1; + return _block == 0 ? 0 : _block / (_numberOfBlocksInEpoch * _numberOfEpochsInPeriod) + 1; } /** @@ -418,8 +418,8 @@ contract RoninValidatorSet is } for (uint256 _i = _newValidatorCount; _i < validatorCount; _i++) { - delete _validator[_i]; delete _validatorMap[_validator[_i]]; + delete _validator[_i]; } uint256 _count;