diff --git a/app/protocol/flows/v5/blockrelay/ibd.go b/app/protocol/flows/v5/blockrelay/ibd.go index 582a6a475..126503f37 100644 --- a/app/protocol/flows/v5/blockrelay/ibd.go +++ b/app/protocol/flows/v5/blockrelay/ibd.go @@ -567,7 +567,7 @@ func (flow *handleIBDFlow) receiveAndInsertPruningPointUTXOSet( receivedChunkCount++ if receivedChunkCount%ibdBatchSize == 0 { - log.Debugf("Received %d UTXO set chunks so far, totaling in %d UTXOs", + log.Infof("Received %d UTXO set chunks so far, totaling in %d UTXOs", receivedChunkCount, receivedUTXOCount) requestNextPruningPointUTXOSetChunkMessage := appmessage.NewMsgRequestNextPruningPointUTXOSetChunk() diff --git a/domain/miningmanager/factory.go b/domain/miningmanager/factory.go index 9f304b8c9..c6bb92db6 100644 --- a/domain/miningmanager/factory.go +++ b/domain/miningmanager/factory.go @@ -5,6 +5,7 @@ import ( "github.com/kaspanet/kaspad/domain/dagconfig" "github.com/kaspanet/kaspad/domain/miningmanager/blocktemplatebuilder" mempoolpkg "github.com/kaspanet/kaspad/domain/miningmanager/mempool" + "github.com/pkg/errors" "sync" "time" ) @@ -21,7 +22,15 @@ func (f *factory) NewMiningManager(consensusReference consensusreference.Consens mempoolConfig *mempoolpkg.Config) MiningManager { mempool := mempoolpkg.New(mempoolConfig, consensusReference) - blockTemplateBuilder := blocktemplatebuilder.New(consensusReference, mempool, params.MaxBlockMass, params.CoinbasePayloadScriptPublicKeyMaxLength) + // In the current pruning window (according to 06/04/2022) the header with the most mass weighted 5294 grams. + // We take a 10x factor for safety. + // TODO: Remove this behaviour once `ignoreHeaderMass` is set to true in all networks. + const estimatedHeaderUpperBound = 60000 + if estimatedHeaderUpperBound > params.MaxBlockMass { + panic(errors.Errorf("Estimated header mass upper bound is higher than the max block mass allowed")) + } + maxBlockMass := params.MaxBlockMass - estimatedHeaderUpperBound + blockTemplateBuilder := blocktemplatebuilder.New(consensusReference, mempool, maxBlockMass, params.CoinbasePayloadScriptPublicKeyMaxLength) return &miningManager{ consensusReference: consensusReference,