Ori Newman 32a04d1811
Allow to configure consensus (closes #1067)
* Allow to configure consensus with a JSON file

* Define everywhere maxBlockParents as KType

* Move consensus default to consensus_defaults.go
2020-12-03 18:30:01 +02:00

31 lines
965 B
Go

package miningmanager
import (
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"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 externalapi.Consensus, blockMaxMass uint64, acceptNonStd bool) MiningManager
}
type factory struct{}
// NewMiningManager instantiate a new mining manager
func (f *factory) NewMiningManager(consensus externalapi.Consensus, blockMaxMass uint64, acceptNonStd bool) MiningManager {
mempool := mempoolpkg.New(consensus, acceptNonStd)
blockTemplateBuilder := blocktemplatebuilder.New(consensus, mempool, blockMaxMass)
return &miningManager{
mempool: mempool,
blockTemplateBuilder: blockTemplateBuilder,
}
}
// NewFactory creates a new mining manager factory
func NewFactory() Factory {
return &factory{}
}