func WithMonitor(monitor metrics.ValidatorsManagerMonitor) Parameter {
	return parameterFunc(func(p *parameters) {
		p.monitor = monitor
	})
}
WithMonitor sets the monitor for the module.
package standard
import (
	"context"
	eth2client "github.com/attestantio/go-eth2-client"
	"github.com/attestantio/go-eth2-client/spec/phase0"
	"github.com/attestantio/vouch/services/metrics"
	nullmetrics "github.com/attestantio/vouch/services/metrics/null"
	"github.com/pkg/errors"
	"github.com/rs/zerolog"
)
type parameters struct {
	logLevel           zerolog.Level
	monitor            metrics.ValidatorsManagerMonitor
	clientMonitor      metrics.ClientMonitor
	validatorsProvider eth2client.ValidatorsProvider
	farFutureEpoch     phase0.Epoch
}
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
	})
}