[NOD-1545] Fix incorrect block difficulty calculation in buildHeader. (#1102)

This commit is contained in:
stasatdaglabs 2020-11-17 16:40:55 +02:00 committed by GitHub
parent 891095563e
commit 7479f5f5e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 17 deletions

View File

@ -100,15 +100,11 @@ func (bb *blockBuilder) buildHeader(transactions []*externalapi.DomainTransactio
if err != nil {
return nil, err
}
virtualGHOSTDAGData, err := bb.ghostdagDataStore.Get(bb.databaseContext, model.VirtualBlockHash)
if err != nil {
return nil, err
}
timeInMilliseconds, err := bb.newBlockTime()
if err != nil {
return nil, err
}
bits, err := bb.newBlockDifficulty(virtualGHOSTDAGData)
bits, err := bb.newBlockDifficulty()
if err != nil {
return nil, err
}
@ -160,12 +156,8 @@ func (bb *blockBuilder) newBlockTime() (int64, error) {
return newTimestamp, nil
}
func (bb *blockBuilder) newBlockDifficulty(virtualGHOSTDAGData *model.BlockGHOSTDAGData) (uint32, error) {
virtualGHOSTDAGData, err := bb.ghostdagDataStore.Get(bb.databaseContext, model.VirtualBlockHash)
if err != nil {
return 0, err
}
return bb.difficultyManager.RequiredDifficulty(virtualGHOSTDAGData.SelectedParent)
func (bb *blockBuilder) newBlockDifficulty() (uint32, error) {
return bb.difficultyManager.RequiredDifficulty(model.VirtualBlockHash)
}
func (bb *blockBuilder) newBlockHashMerkleRoot(transactions []*externalapi.DomainTransaction) *externalapi.DomainHash {

View File

@ -39,16 +39,11 @@ func (bb testBlockBuilder) buildHeaderWithParents(parentHashes []*externalapi.Do
transactions []*externalapi.DomainTransaction, acceptanceData model.AcceptanceData, multiset model.Multiset) (
*externalapi.DomainBlockHeader, error) {
ghostdagData, err := bb.ghostdagDataStore.Get(bb.databaseContext, tempBlockHash)
if err != nil {
return nil, err
}
timeInMilliseconds, err := bb.pastMedianTimeManager.PastMedianTime(tempBlockHash)
if err != nil {
return nil, err
}
bits, err := bb.newBlockDifficulty(ghostdagData)
bits, err := bb.newBlockDifficulty()
if err != nil {
return nil, err
}