github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/verifier/noop/verifier.go (about) 1 package noop 2 3 import ( 4 "context" 5 "fmt" 6 7 "github.com/filecoin-project/bacalhau/pkg/model" 8 "github.com/filecoin-project/bacalhau/pkg/system" 9 "github.com/filecoin-project/bacalhau/pkg/verifier" 10 "github.com/filecoin-project/bacalhau/pkg/verifier/results" 11 ) 12 13 type NoopVerifier struct { 14 results *results.Results 15 } 16 17 func NewNoopVerifier( 18 _ context.Context, cm *system.CleanupManager, 19 ) (*NoopVerifier, error) { 20 results, err := results.NewResults() 21 if err != nil { 22 return nil, err 23 } 24 25 cm.RegisterCallback(func() error { 26 if err := results.Close(); err != nil { 27 return fmt.Errorf("unable to remove results folder: %w", err) 28 } 29 return nil 30 }) 31 return &NoopVerifier{ 32 results: results, 33 }, nil 34 } 35 36 func (noopVerifier *NoopVerifier) IsInstalled(context.Context) (bool, error) { 37 return true, nil 38 } 39 40 func (noopVerifier *NoopVerifier) GetShardResultPath( 41 _ context.Context, 42 shard model.JobShard, 43 ) (string, error) { 44 return noopVerifier.results.EnsureShardResultsDir(shard.Job.Metadata.ID, shard.Index) 45 } 46 47 func (noopVerifier *NoopVerifier) GetShardProposal( 48 context.Context, 49 model.JobShard, 50 string, 51 ) ([]byte, error) { 52 return []byte{}, nil 53 } 54 55 func (noopVerifier *NoopVerifier) VerifyShard( 56 ctx context.Context, 57 shard model.JobShard, 58 executionStates []model.ExecutionState, 59 ) ([]verifier.VerifierResult, error) { 60 _, span := system.NewSpan(ctx, system.GetTracer(), "pkg/verifier.NoopVerifier.VerifyShard") 61 defer span.End() 62 63 err := verifier.ValidateExecutions(shard, executionStates) 64 if err != nil { 65 return nil, err 66 } 67 68 var verifierResults []verifier.VerifierResult 69 for _, execution := range executionStates { //nolint:gocritic 70 verifierResults = append(verifierResults, verifier.VerifierResult{ 71 Execution: execution, 72 Verified: true, 73 }) 74 } 75 return verifierResults, nil 76 } 77 78 // Compile-time check that NoopVerifier implements the correct interface: 79 var _ verifier.Verifier = (*NoopVerifier)(nil)