stasatdaglabs db475bd511
[NOD-1460] Make the miningmanager package structure similar to consensus package's (#957)
* [NOD-1460] Move the miningmanager interfaces into its model package.

* [NOD-1460] Decouple miningmanager model from appmessage.

* [NOD-1460] Decouple miningmanager model from util.

* [NOD-1460] Make miningmanager implementation structs unexported.
2020-10-18 10:52:41 +03:00

31 lines
837 B
Go

package miningmanager
import (
"github.com/kaspanet/kaspad/domain/consensus"
"github.com/kaspanet/kaspad/domain/miningmanager/blocktemplatebuilder"
mempoolpkg "github.com/kaspanet/kaspad/domain/miningmanager/mempool"
)
// Factory instantiates new mining managers
type Factory interface {
NewMiningManager(consensus *consensus.Consensus) MiningManager
}
type factory struct{}
// NewMiningManager instantiate a new mining manager
func (f *factory) NewMiningManager(consensus *consensus.Consensus) MiningManager {
mempool := mempoolpkg.New(consensus)
blockTemplateBuilder := blocktemplatebuilder.New(consensus, mempool)
return &miningManager{
mempool: mempool,
blockTemplateBuilder: blockTemplateBuilder,
}
}
// NewFactory creates a new mining manager factory
func NewFactory() Factory {
return &factory{}
}