func NewBlockEligibilityValidator(
	committeeSize uint32, layersPerEpoch uint32, activationDb activationDB, beacons beaconCollector,
	validateVRF VRFValidationFunction, blockDB blockDB, log log.Log) *BlockEligibilityValidator {
	return &BlockEligibilityValidator{
		committeeSize:  committeeSize,
		layersPerEpoch: layersPerEpoch,
		activationDb:   activationDb,
		beacons:        beacons,
		validateVRF:    validateVRF,
		blocks:         blockDB,
		log:            log,
	}
}
NewBlockEligibilityValidator returns a new BlockEligibilityValidator.
package blocks
import (
	"fmt"
	"github.com/spacemeshos/go-spacemesh/common/types"
	"github.com/spacemeshos/go-spacemesh/log"
)
type VRFValidationFunction func(publicKey, message, signature []byte) bool
type BlockEligibilityValidator struct {
	committeeSize  uint32
	layersPerEpoch uint32
	activationDb   activationDB
	blocks         blockDB
	beacons        beaconCollector
	validateVRF    VRFValidationFunction
	log            log.Log
}