fix condition

This commit is contained in:
nisdas
2019-05-05 23:16:47 +08:00
parent e0a658c1fa
commit dee0e3112c

View File

@@ -226,8 +226,8 @@ func (vs *ValidatorServer) ValidatorStatus(
}, nil }, nil
} }
depositBlockSlot, err := vs.depositBlockSlot(ctx, beaconState.Slot, eth1BlockNumBigInt, beaconState) blockExists, depositBlockSlot, err := vs.depositBlockSlot(ctx, beaconState.Slot, eth1BlockNumBigInt, beaconState)
if err != nil { if err != nil || !blockExists {
status := vs.validatorStatus(req.PublicKey, beaconState) status := vs.validatorStatus(req.PublicKey, beaconState)
return &pb.ValidatorStatusResponse{ return &pb.ValidatorStatusResponse{
Status: status, Status: status,
@@ -313,8 +313,8 @@ func (vs *ValidatorServer) MultipleValidatorStatus(
continue continue
} }
depositBlockSlot, err := vs.depositBlockSlot(ctx, beaconState.Slot, eth1BlockNumBigInt, beaconState) blockExists, depositBlockSlot, err := vs.depositBlockSlot(ctx, beaconState.Slot, eth1BlockNumBigInt, beaconState)
if err != nil { if err != nil || !blockExists {
statusResponses[i].Status = &pb.ValidatorStatusResponse{ statusResponses[i].Status = &pb.ValidatorStatusResponse{
Status: pb.ValidatorStatus_UNKNOWN_STATUS, Status: pb.ValidatorStatus_UNKNOWN_STATUS,
ActivationEpoch: params.BeaconConfig().FarFutureEpoch - params.BeaconConfig().GenesisEpoch, ActivationEpoch: params.BeaconConfig().FarFutureEpoch - params.BeaconConfig().GenesisEpoch,
@@ -456,10 +456,10 @@ func (vs *ValidatorServer) addNonActivePublicKeysAssignmentStatus(
} }
func (vs *ValidatorServer) depositBlockSlot(ctx context.Context, currentSlot uint64, func (vs *ValidatorServer) depositBlockSlot(ctx context.Context, currentSlot uint64,
eth1BlockNumBigInt *big.Int, beaconState *pbp2p.BeaconState) (uint64, error) { eth1BlockNumBigInt *big.Int, beaconState *pbp2p.BeaconState) (bool, uint64, error) {
blockTimeStamp, err := vs.powChainService.BlockTimeByHeight(ctx, eth1BlockNumBigInt) blockTimeStamp, err := vs.powChainService.BlockTimeByHeight(ctx, eth1BlockNumBigInt)
if err != nil { if err != nil {
return 0, err return false, 0, err
} }
followTime := time.Duration(params.BeaconConfig().Eth1FollowDistance*params.BeaconConfig().GoerliBlockTime) * time.Second followTime := time.Duration(params.BeaconConfig().Eth1FollowDistance*params.BeaconConfig().GoerliBlockTime) * time.Second
eth1UnixTime := time.Unix(int64(blockTimeStamp), 0).Add(followTime) eth1UnixTime := time.Unix(int64(blockTimeStamp), 0).Add(followTime)
@@ -473,8 +473,8 @@ func (vs *ValidatorServer) depositBlockSlot(ctx context.Context, currentSlot uin
depositBlockSlot := uint64(eth2TimeDifference) / params.BeaconConfig().SecondsPerSlot depositBlockSlot := uint64(eth2TimeDifference) / params.BeaconConfig().SecondsPerSlot
if depositBlockSlot > currentSlot-params.BeaconConfig().GenesisSlot { if depositBlockSlot > currentSlot-params.BeaconConfig().GenesisSlot {
return 0, errors.New("estimated Slot is in the future not the past") return false, 0, nil
} }
return depositBlockSlot, nil return true, depositBlockSlot, nil
} }