Skip to content

Commit 0fea7d5

Browse files
authored
fix (operator): don't sign invalid batches (#414)
1 parent 20f0388 commit 0fea7d5

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

aggregator/internal/pkg/aggregator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ const MaxSentTxRetries = 5
172172

173173
func (agg *Aggregator) sendAggregatedResponseToContract(blsAggServiceResp blsagg.BlsAggregationServiceResponse) {
174174
if blsAggServiceResp.Err != nil {
175-
agg.logger.Error("BlsAggregationServiceResponse contains an error", "err", blsAggServiceResp.Err)
175+
agg.logger.Warn("BlsAggregationServiceResponse contains an error", "err", blsAggServiceResp.Err)
176176
return
177177
}
178178

operator/pkg/operator.go

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,9 @@ func (o *Operator) Start(ctx context.Context) error {
144144
sub.Unsubscribe()
145145
sub = o.SubscribeToNewTasks()
146146
case newBatchLog := <-o.NewTaskCreatedChan:
147-
// o.Logger.Infof("Received task with index: %d\n", newTaskCreatedLog.TaskIndex)
148147
err := o.ProcessNewBatchLog(newBatchLog)
149148
if err != nil {
150-
o.Logger.Errorf("Batch did not verify", "err", err)
149+
o.Logger.Infof("batch %x did not verify. Err: %v", newBatchLog.BatchMerkleRoot, err)
151150
continue
152151
}
153152
responseSignature := o.SignTaskResponse(newBatchLog.BatchMerkleRoot)
@@ -197,8 +196,7 @@ func (o *Operator) ProcessNewBatchLog(newBatchLog *servicemanager.ContractAligne
197196

198197
for result := range results {
199198
if !result {
200-
o.Logger.Error("Proof did not verify")
201-
return nil
199+
return fmt.Errorf("invalid proof")
202200
}
203201
}
204202

@@ -366,25 +364,25 @@ func (o *Operator) verifyPlonkProof(proofBytes []byte, pubInputBytes []byte, ver
366364
proofReader := bytes.NewReader(proofBytes)
367365
proof := plonk.NewProof(curve)
368366
if _, err := proof.ReadFrom(proofReader); err != nil {
369-
o.Logger.Errorf("Could not deserialize proof: %v", err)
367+
o.Logger.Infof("Could not deserialize proof: %v", err)
370368
return false
371369
}
372370

373371
pubInputReader := bytes.NewReader(pubInputBytes)
374372
pubInput, err := witness.New(curve.ScalarField())
375373
if err != nil {
376-
o.Logger.Errorf("Error instantiating witness: %v", err)
374+
o.Logger.Infof("Error instantiating witness: %v", err)
377375
return false
378376
}
379377
if _, err = pubInput.ReadFrom(pubInputReader); err != nil {
380-
o.Logger.Errorf("Could not read PLONK public input: %v", err)
378+
o.Logger.Infof("Could not read PLONK public input: %v", err)
381379
return false
382380
}
383381

384382
verificationKeyReader := bytes.NewReader(verificationKeyBytes)
385383
verificationKey := plonk.NewVerifyingKey(curve)
386384
if _, err = verificationKey.ReadFrom(verificationKeyReader); err != nil {
387-
o.Logger.Errorf("Could not read PLONK verifying key from bytes: %v", err)
385+
o.Logger.Infof("Could not read PLONK verifying key from bytes: %v", err)
388386
return false
389387
}
390388

@@ -397,25 +395,25 @@ func (o *Operator) verifyGroth16Proof(proofBytes []byte, pubInputBytes []byte, v
397395
proofReader := bytes.NewReader(proofBytes)
398396
proof := groth16.NewProof(curve)
399397
if _, err := proof.ReadFrom(proofReader); err != nil {
400-
o.Logger.Errorf("Could not deserialize proof: %v", err)
398+
o.Logger.Infof("Could not deserialize proof: %v", err)
401399
return false
402400
}
403401

404402
pubInputReader := bytes.NewReader(pubInputBytes)
405403
pubInput, err := witness.New(curve.ScalarField())
406404
if err != nil {
407-
o.Logger.Errorf("Error instantiating witness: %v", err)
405+
o.Logger.Infof("Error instantiating witness: %v", err)
408406
return false
409407
}
410408
if _, err = pubInput.ReadFrom(pubInputReader); err != nil {
411-
o.Logger.Errorf("Could not read Groth16 public input: %v", err)
409+
o.Logger.Infof("Could not read Groth16 public input: %v", err)
412410
return false
413411
}
414412

415413
verificationKeyReader := bytes.NewReader(verificationKeyBytes)
416414
verificationKey := groth16.NewVerifyingKey(curve)
417415
if _, err = verificationKey.ReadFrom(verificationKeyReader); err != nil {
418-
o.Logger.Errorf("Could not read Groth16 verifying key from bytes: %v", err)
416+
o.Logger.Infof("Could not read Groth16 verifying key from bytes: %v", err)
419417
return false
420418
}
421419

0 commit comments

Comments
 (0)