@@ -351,7 +351,7 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
351351 var totalStake int64
352352
353353 stakeWeightedPrices := make (map [string ]math.LegacyDec , len (types .PRICE_CACHE )) // base -> average stake-weighted price
354- stakeWeightedVotingPower := make (map [string ]int64 , len (types .PRICE_CACHE ))
354+ stakeWeightedVotingPower := make (map [string ]math. LegacyDec , len (types .PRICE_CACHE ))
355355 blockHeaders := make (map [string ][]* types.BlockHeader )
356356 headerStakes := make (map [string ]int64 )
357357
@@ -389,10 +389,10 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
389389 }
390390 if _ , ok := stakeWeightedPrices [base ]; ok {
391391 stakeWeightedPrices [base ] = stakeWeightedPrices [base ].Add (stakePrice .MulInt64 (v .Validator .Power ))
392- stakeWeightedVotingPower [base ] += v .Validator .Power
392+ stakeWeightedVotingPower [base ] = stakeWeightedVotingPower [ base ]. Add ( math . LegacyNewDec ( v .Validator .Power ))
393393 } else {
394394 stakeWeightedPrices [base ] = stakePrice .MulInt64 (v .Validator .Power )
395- stakeWeightedVotingPower [base ] += v .Validator .Power
395+ stakeWeightedVotingPower [base ] = math . LegacyNewDec ( v .Validator .Power )
396396 }
397397 }
398398
@@ -418,7 +418,7 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
418418 for base , price := range stakeWeightedPrices {
419419 if price .GT (math .LegacyZeroDec ()) {
420420 if vp , ok := stakeWeightedVotingPower [base ]; ok {
421- stakeWeightedPrices [base ] = price .QuoInt64 (vp )
421+ stakeWeightedPrices [base ] = price .Quo (vp )
422422 }
423423 } else {
424424 h .logger .Error ("Got invalid price." , "symbal" , base , "price" , price )
0 commit comments