@@ -530,30 +530,25 @@ func (s *NetworkState) GetMinipoolEligibleBorrowedEth(node *rpstate.NativeNodeDe
530530}
531531
532532func (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