Do not update staking list if StakeInfo query failed

Previously, CurrentStakes were getting cleared if stakeInfoReturnValue
== nil, which means that the stake information query has failed.

We still process non-nil but empty stake query result.
pull/624/head
Eugene Kim 6 years ago
parent d08bcc150c
commit 15706b3b9e
  1. 7
      node/staking.go

@ -26,10 +26,12 @@ const (
lockPeriodInEpochs = 3 // This should be in sync with contracts/StakeLockContract.sol
)
// UpdateStakingList updates staking information by querying the staking smart contract.
// UpdateStakingList updates staking list from the given StakeInfo query result.
func (node *Node) UpdateStakingList(stakeInfoReturnValue *structs.StakeInfoReturnValue) {
if stakeInfoReturnValue == nil {
return
}
node.CurrentStakes = make(map[common.Address]*structs.StakeInfo)
if stakeInfoReturnValue != nil {
for i, addr := range stakeInfoReturnValue.LockedAddresses {
blockNum := stakeInfoReturnValue.BlockNums[i]
lockPeriodCount := stakeInfoReturnValue.LockPeriodCounts[i]
@ -51,7 +53,6 @@ func (node *Node) UpdateStakingList(stakeInfoReturnValue *structs.StakeInfoRetur
}
}
}
}
func (node *Node) printStakingList() {
utils.GetLogInstance().Info("\n")

Loading…
Cancel
Save