func WithStores(stores []e2wtypes.Store) Parameter {
	return parameterFunc(func(p *parameters) {
		p.stores = stores
	})
}
WithStores sets the stores for this module.
package standard
import (
	"github.com/attestantio/dirk/services/checker"
	"github.com/attestantio/dirk/services/fetcher"
	"github.com/attestantio/dirk/services/metrics"
	"github.com/attestantio/dirk/services/peers"
	"github.com/attestantio/dirk/services/sender"
	"github.com/attestantio/dirk/services/unlocker"
	"github.com/pkg/errors"
	"github.com/rs/zerolog"
	keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
	e2wtypes "github.com/wealdtech/go-eth2-wallet-types/v2"
)
type parameters struct {
	logLevel             zerolog.Level
	monitor              metrics.ProcessMonitor
	checker              checker.Service
	fetcher              fetcher.Service
	sender               sender.Service
	unlocker             unlocker.Service
	encryptor            e2wtypes.Encryptor
	id                   uint64
	peers                peers.Service
	stores               []e2wtypes.Store
	generationPassphrase []byte
}
type Parameter interface {
	apply(*parameters)
}
type parameterFunc func(*parameters)
func (f parameterFunc) apply(p *parameters) {
	f(p)
}
func WithLogLevel(logLevel zerolog.Level) Parameter {
	return parameterFunc(func(p *parameters) {
		p.logLevel = logLevel
	})
}
func WithMonitor(monitor metrics.ProcessMonitor) Parameter {
	return parameterFunc(func(p *parameters) {
		p.monitor = monitor
	})
}
func WithChecker(checker checker.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.checker = checker
	})
}
func WithFetcher(fetcher fetcher.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.fetcher = fetcher
	})
}
func WithSender(sender sender.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.sender = sender
	})
}
func WithUnlocker(unlocker unlocker.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.unlocker = unlocker
	})
}
func WithEncryptor(encryptor e2wtypes.Encryptor) Parameter {
	return parameterFunc(func(p *parameters) {
		p.encryptor = encryptor
	})
}
func WithPeers(peers peers.Service) Parameter {
	return parameterFunc(func(p *parameters) {
		p.peers = peers
	})
}
func WithID(id uint64) Parameter {
	return parameterFunc(func(p *parameters) {
		p.id = id
	})
}