From 30ce4790343dc8c9663df9315acd288217e0a13d Mon Sep 17 00:00:00 2001 From: Jonathan Downing Date: Sat, 12 Oct 2024 13:41:12 -0500 Subject: [PATCH] Set minimum trim depth to MaxInt blocks and set soft max UTXO set size to 10m --- consensus/blake3pow/consensus.go | 6 ++++-- consensus/progpow/consensus.go | 6 ++++-- params/protocol_params.go | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/consensus/blake3pow/consensus.go b/consensus/blake3pow/consensus.go index 882e5be03..8ac7ec9c7 100644 --- a/consensus/blake3pow/consensus.go +++ b/consensus/blake3pow/consensus.go @@ -691,7 +691,7 @@ func (blake3pow *Blake3pow) Finalize(chain consensus.ChainHeaderReader, batch et var wg sync.WaitGroup var lock sync.Mutex for denomination, depth := range trimDepths { - if denomination <= types.MaxTrimDenomination && header.NumberU64(nodeCtx) > depth+1 { + if denomination <= types.MaxTrimDenomination && header.NumberU64(nodeCtx) > depth+params.MinimumTrimDepth { wg.Add(1) go func(denomination uint8, depth uint64) { defer func() { @@ -735,7 +735,9 @@ func (blake3pow *Blake3pow) Finalize(chain consensus.ChainHeaderReader, batch et }() } wg.Wait() - blake3pow.logger.Infof("Trimmed %d UTXOs from db in %s", len(trimmedUtxos), common.PrettyDuration(time.Since(start))) + if len(trimmedUtxos) > 0 { + blake3pow.logger.Infof("Trimmed %d UTXOs from db in %s", len(trimmedUtxos), common.PrettyDuration(time.Since(start))) + } if !setRoots { rawdb.WriteTrimmedUTXOs(batch, header.Hash(), trimmedUtxos) if len(newCollidingKeys) > 0 { diff --git a/consensus/progpow/consensus.go b/consensus/progpow/consensus.go index eb72a4e86..02915998d 100644 --- a/consensus/progpow/consensus.go +++ b/consensus/progpow/consensus.go @@ -749,7 +749,7 @@ func (progpow *Progpow) Finalize(chain consensus.ChainHeaderReader, batch ethdb. var wg sync.WaitGroup var lock sync.Mutex for denomination, depth := range trimDepths { - if denomination <= types.MaxTrimDenomination && header.NumberU64(nodeCtx) > depth+1 { + if denomination <= types.MaxTrimDenomination && header.NumberU64(nodeCtx) > depth+params.MinimumTrimDepth { wg.Add(1) go func(denomination uint8, depth uint64) { defer func() { @@ -793,7 +793,9 @@ func (progpow *Progpow) Finalize(chain consensus.ChainHeaderReader, batch ethdb. }() } wg.Wait() - progpow.logger.Infof("Trimmed %d UTXOs from db in %s", len(trimmedUtxos), common.PrettyDuration(time.Since(start))) + if len(trimmedUtxos) > 0 { + progpow.logger.Infof("Trimmed %d UTXOs from db in %s", len(trimmedUtxos), common.PrettyDuration(time.Since(start))) + } if !setRoots { rawdb.WriteTrimmedUTXOs(batch, header.Hash(), trimmedUtxos) if len(newCollidingKeys) > 0 { diff --git a/params/protocol_params.go b/params/protocol_params.go index 72a6e29a5..3747704d4 100644 --- a/params/protocol_params.go +++ b/params/protocol_params.go @@ -153,7 +153,8 @@ const ( ConversionLockPeriod uint64 = 10 // The number of zone blocks that a conversion output is locked for MinQiConversionDenomination = 1 ConversionConfirmationContext = common.PRIME_CTX // A conversion requires a single coincident Dom confirmation - SoftMaxUTXOSetSize = 1000000 // The maximum number of UTXOs that can be stored in the UTXO set + SoftMaxUTXOSetSize = 10000000 // The soft maximum number of UTXOs that can be stored in the UTXO set + MinimumTrimDepth = math.MaxInt // The minimum block depth of the chain to begin trimming ) var (