github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/verifier/util/utils.go (about)

     1  package util
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/filecoin-project/bacalhau/pkg/model"
     7  	"github.com/filecoin-project/bacalhau/pkg/system"
     8  	"github.com/filecoin-project/bacalhau/pkg/verifier"
     9  	"github.com/filecoin-project/bacalhau/pkg/verifier/deterministic"
    10  	"github.com/filecoin-project/bacalhau/pkg/verifier/noop"
    11  )
    12  
    13  func NewStandardVerifiers(
    14  	ctx context.Context,
    15  	cm *system.CleanupManager,
    16  	encrypter verifier.EncrypterFunction,
    17  	decrypter verifier.DecrypterFunction,
    18  ) (verifier.VerifierProvider, error) {
    19  	noopVerifier, err := noop.NewNoopVerifier(
    20  		ctx,
    21  		cm,
    22  	)
    23  	if err != nil {
    24  		return nil, err
    25  	}
    26  
    27  	deterministicVerifier, err := deterministic.NewDeterministicVerifier(
    28  		ctx,
    29  		cm,
    30  		encrypter,
    31  		decrypter,
    32  	)
    33  	if err != nil {
    34  		return nil, err
    35  	}
    36  
    37  	return model.NewMappedProvider(map[model.Verifier]verifier.Verifier{
    38  		model.VerifierNoop:          noopVerifier,
    39  		model.VerifierDeterministic: deterministicVerifier,
    40  	}), nil
    41  }
    42  
    43  func NewNoopVerifiers(
    44  	ctx context.Context,
    45  	cm *system.CleanupManager,
    46  ) (verifier.VerifierProvider, error) {
    47  	noopVerifier, err := noop.NewNoopVerifier(ctx, cm)
    48  	if err != nil {
    49  		return nil, err
    50  	}
    51  	return model.NewNoopProvider[model.Verifier, verifier.Verifier](noopVerifier), nil
    52  }