les: update checktime even if check fails

release/1.9
Martin Holst Swende 4 years ago
parent 68754f3931
commit 983cb25a07
No known key found for this signature in database
GPG Key ID: 683B438C05A5DDF0
  1. 8
      les/checkpointoracle/oracle.go

@ -93,8 +93,11 @@ func (oracle *CheckpointOracle) StableCheckpoint() (*params.TrustedCheckpoint, u
// Look it up properly // Look it up properly
// Retrieve the latest checkpoint from the contract, abort if empty // Retrieve the latest checkpoint from the contract, abort if empty
latest, hash, height, err := oracle.contract.Contract().GetLatestCheckpoint(nil) latest, hash, height, err := oracle.contract.Contract().GetLatestCheckpoint(nil)
oracle.lastCheckTime = time.Now()
if err != nil || (latest == 0 && hash == [32]byte{}) { if err != nil || (latest == 0 && hash == [32]byte{}) {
return nil, 0 oracle.lastCheckPointHeight = 0
oracle.lastCheckPoint = nil
return oracle.lastCheckPoint, oracle.lastCheckPointHeight
} }
local := oracle.getLocal(latest) local := oracle.getLocal(latest)
@ -106,10 +109,9 @@ func (oracle *CheckpointOracle) StableCheckpoint() (*params.TrustedCheckpoint, u
// //
// In both cases, no stable checkpoint will be returned. // In both cases, no stable checkpoint will be returned.
if local.HashEqual(hash) { if local.HashEqual(hash) {
oracle.lastCheckTime = time.Now()
oracle.lastCheckPointHeight = height.Uint64() oracle.lastCheckPointHeight = height.Uint64()
oracle.lastCheckPoint = &local oracle.lastCheckPoint = &local
return &local, height.Uint64() return oracle.lastCheckPoint, oracle.lastCheckPointHeight
} }
return nil, 0 return nil, 0
} }

Loading…
Cancel
Save