Skip to content

Commit a6d9a9c

Browse files
authored
Merge pull request #1090 from jshufro/jms/simplifymegapoolborrowedeth
Simplify megapool eligible borrowed eth function
2 parents fe4bcc8 + 0af8b74 commit a6d9a9c

1 file changed

Lines changed: 17 additions & 22 deletions

File tree

shared/services/state/network-state.go

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -530,30 +530,25 @@ func (s *NetworkState) GetMinipoolEligibleBorrowedEth(node *rpstate.NativeNodeDe
530530
}
531531

532532
func (s *NetworkState) GetMegapoolEligibleBorrowedEth(node *rpstate.NativeNodeDetails) *big.Int {
533-
eligibleBorrowedEth := big.NewInt(0)
534-
requestedValueSum := big.NewInt(0)
533+
if !node.MegapoolDeployed {
534+
return big.NewInt(0)
535+
}
535536

536-
if node.MegapoolDeployed {
537-
megapool, exists := s.MegapoolDetails[node.MegapoolAddress]
538-
if !exists {
539-
return eligibleBorrowedEth
540-
}
541-
eligibleBorrowedEth.Add(eligibleBorrowedEth, megapool.UserCapital)
542-
// Get the megapool validators
543-
validators := s.MegapoolToPubkeysMap[node.MegapoolAddress]
544-
545-
// Iterate over the validators
546-
for _, validator := range validators {
547-
548-
// Grab the validator details from pubkeys
549-
megapoolValidatorInfo := s.MegapoolValidatorInfo[validator]
550-
// Pre-stake
551-
if megapoolValidatorInfo.ValidatorInfo.InPrestake {
552-
requestedValueSum.Add(requestedValueSum, eth.MilliEthToWei(float64(megapoolValidatorInfo.ValidatorInfo.LastRequestedValue)))
553-
requestedValueSum.Sub(requestedValueSum, eth.MilliEthToWei(float64(megapoolValidatorInfo.ValidatorInfo.LastRequestedBond)))
554-
}
537+
megapool := s.MegapoolDetails[node.MegapoolAddress]
538+
eligibleBorrowedEth := big.NewInt(0).Set(megapool.UserCapital)
539+
540+
// Iterate over the validators
541+
for _, validator := range s.MegapoolToPubkeysMap[node.MegapoolAddress] {
542+
megapoolValidatorInfo := s.MegapoolValidatorInfo[validator]
543+
if !megapoolValidatorInfo.ValidatorInfo.InPrestake {
544+
continue
555545
}
546+
547+
validatorTotalEth := big.NewInt(0).Set(eth.MilliEthToWei(float64(megapoolValidatorInfo.ValidatorInfo.LastRequestedValue)))
548+
validatorBondedEth := big.NewInt(0).Set(eth.MilliEthToWei(float64(megapoolValidatorInfo.ValidatorInfo.LastRequestedBond)))
549+
validatorUserEth := big.NewInt(0).Sub(validatorTotalEth, validatorBondedEth)
550+
eligibleBorrowedEth.Sub(eligibleBorrowedEth, validatorUserEth)
556551
}
557552

558-
return eligibleBorrowedEth.Sub(eligibleBorrowedEth, requestedValueSum)
553+
return eligibleBorrowedEth
559554
}

0 commit comments

Comments
 (0)