Remove usage of hardcoded UnclePenalty

This commit is contained in:
DataHoarder 2023-03-22 12:05:50 +01:00
parent e3597c7f2b
commit 53f77853c2
Signed by: DataHoarder
SSH key fingerprint: SHA256:EnPQOqPpbCa7nzalCEJY2sd9iPluFIBuJu2rDFalACI
4 changed files with 11 additions and 10 deletions

View file

@ -11,7 +11,6 @@ import (
"git.gammaspectra.live/P2Pool/p2pool-observer/monero/client"
"git.gammaspectra.live/P2Pool/p2pool-observer/monero/crypto"
"git.gammaspectra.live/P2Pool/p2pool-observer/monero/randomx"
"git.gammaspectra.live/P2Pool/p2pool-observer/p2pool"
p2poolapi "git.gammaspectra.live/P2Pool/p2pool-observer/p2pool/api"
"git.gammaspectra.live/P2Pool/p2pool-observer/p2pool/sidechain"
"git.gammaspectra.live/P2Pool/p2pool-observer/types"
@ -462,7 +461,7 @@ func main() {
}
for u := range api.GetDatabase().GetUnclesByParentId(block.Id) {
uncleWeight := u.Block.Difficulty.Mul64(p2pool.UnclePenalty).Div64(100)
uncleWeight := u.Block.Difficulty.Mul64(p2api.Consensus().UnclePenalty).Div64(100)
s.Uncles = append(s.Uncles, sharesInWindowResultUncle{
Id: u.Block.Id,
Height: u.Block.Height,
@ -483,7 +482,7 @@ func main() {
Id: uncle.Block.Id,
Height: uncle.Block.Height,
Timestamp: uncle.Block.Timestamp,
Weight: uncle.Block.Difficulty.Mul64(100 - p2pool.UnclePenalty).Div64(100).Lo,
Weight: uncle.Block.Difficulty.Mul64(100 - p2api.Consensus().UnclePenalty).Div64(100).Lo,
}
result = append(result, s)
}

View file

@ -3,7 +3,6 @@ package main
import (
"git.gammaspectra.live/P2Pool/p2pool-observer/database"
"git.gammaspectra.live/P2Pool/p2pool-observer/monero/address"
"git.gammaspectra.live/P2Pool/p2pool-observer/p2pool"
"git.gammaspectra.live/P2Pool/p2pool-observer/p2pool/api"
"golang.org/x/exp/maps"
"golang.org/x/exp/slices"
@ -72,17 +71,17 @@ func MapJSONBlock(api *api.Api, block database.BlockInterface, extraUncleData, e
Height: uncle.ParentHeight,
}
weight = weight.Mul64(100 - p2pool.UnclePenalty).Div64(100)
weight = weight.Mul64(100 - api.GetP2PoolAPI().Consensus().UnclePenalty).Div64(100)
} else {
for u := range api.GetDatabase().GetUnclesByParentId(b.Id) {
uncleWeight := u.Block.Difficulty.Mul64(p2pool.UnclePenalty).Div64(100)
uncleWeight := u.Block.Difficulty.Mul64(api.GetP2PoolAPI().Consensus().UnclePenalty).Div64(100)
weight = weight.Add(uncleWeight)
if !extraUncleData {
b.Uncles = append(b.Uncles, &database.JSONUncleBlockSimple{
Id: u.Block.Id,
Height: u.Block.Height,
Weight: u.Block.Difficulty.Mul64(100 - p2pool.UnclePenalty).Div64(100).Lo,
Weight: u.Block.Difficulty.Mul64(100 - api.GetP2PoolAPI().Consensus().UnclePenalty).Div64(100).Lo,
})
} else {
uncleMiner := api.GetDatabase().GetMiner(u.Block.MinerId)
@ -94,7 +93,7 @@ func MapJSONBlock(api *api.Api, block database.BlockInterface, extraUncleData, e
Miner: uncleMiner.Address(),
MinerAlias: uncleMiner.Alias(),
PowHash: u.Block.PowHash,
Weight: u.Block.Difficulty.Mul64(100 - p2pool.UnclePenalty).Div64(100).Lo,
Weight: u.Block.Difficulty.Mul64(100 - api.GetP2PoolAPI().Consensus().UnclePenalty).Div64(100).Lo,
})
}
}

View file

@ -21,6 +21,10 @@ func New(db *database.Database, p2api *P2PoolApi) (*Api, error) {
return api, nil
}
func (a *Api) GetP2PoolAPI() *P2PoolApi {
return a.p2api
}
func (a *Api) GetDatabase() *database.Database {
return a.db
}

View file

@ -2,6 +2,5 @@ package p2pool
// TODO: deprecate this
const (
PPLNSWindow = 2160
UnclePenalty = 20
PPLNSWindow = 2160
)