diff --git a/domain/consensus/model/interface_processes_reachabilitytree.go b/domain/consensus/model/interface_processes_reachabilitytree.go index 75c9ee372..f151d08c1 100644 --- a/domain/consensus/model/interface_processes_reachabilitytree.go +++ b/domain/consensus/model/interface_processes_reachabilitytree.go @@ -11,6 +11,7 @@ type ReachabilityManager interface { UpdateReindexRoot(selectedTip *externalapi.DomainHash) error } +// TestReachabilityManager adds to the main ReachabilityManager methods required by tests type TestReachabilityManager interface { ReachabilityManager SetReachabilityReindexWindow(reindexWindow uint64) diff --git a/domain/consensus/processes/consensusstatemanager/test_consensus_state_manager.go b/domain/consensus/processes/consensusstatemanager/test_consensus_state_manager.go index 9f1aba398..93750f161 100644 --- a/domain/consensus/processes/consensusstatemanager/test_consensus_state_manager.go +++ b/domain/consensus/processes/consensusstatemanager/test_consensus_state_manager.go @@ -9,6 +9,7 @@ type testConsensusStateManager struct { *consensusStateManager } +// NewTestConsensusStateManager creates an instance of a TestConsensusStateManager func NewTestConsensusStateManager(baseConsensusStateManager model.ConsensusStateManager) model.TestConsensusStateManager { return &testConsensusStateManager{consensusStateManager: baseConsensusStateManager.(*consensusStateManager)} } diff --git a/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go b/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go index 2b41d1852..057794fb9 100644 --- a/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go +++ b/domain/consensus/processes/reachabilitymanager/test_reachabilitymanager.go @@ -18,6 +18,7 @@ func (t testReachabilityManager) SetReachabilityReindexWindow(reindexWindow uint t.reachabilityManager.reindexWindow = reindexWindow } +// NewTestReachabilityManager creates an instance of a TestReachabilityManager func NewTestReachabilityManager(manager model.ReachabilityManager) model.TestReachabilityManager { return &testReachabilityManager{reachabilityManager: manager.(*reachabilityManager)} } diff --git a/domain/consensus/utils/mining/solve.go b/domain/consensus/utils/mining/solve.go index 3bffe95c3..844e3475b 100644 --- a/domain/consensus/utils/mining/solve.go +++ b/domain/consensus/utils/mining/solve.go @@ -1,15 +1,17 @@ package mining import ( + "math" + "math/rand" + "github.com/kaspanet/kaspad/domain/consensus/model/externalapi" "github.com/kaspanet/kaspad/domain/consensus/utils/consensusserialization" "github.com/kaspanet/kaspad/domain/consensus/utils/hashes" utilsMath "github.com/kaspanet/kaspad/domain/consensus/utils/math" "github.com/pkg/errors" - "math" - "math/rand" ) +// SolveBlock increments the given block's nonce until it matches the difficulty requirements in its bits field func SolveBlock(block *externalapi.DomainBlock, rd *rand.Rand) { targetDifficulty := utilsMath.CompactToBig(block.Header.Bits)