Skip to content

Commit 1a0550c

Browse files
authored
feat(taiko-client): adjust zk error handing to increase the zk coverage (#21173)
1 parent 21ddb06 commit 1a0550c

File tree

3 files changed

+28
-26
lines changed

3 files changed

+28
-26
lines changed

packages/taiko-client/prover/proof_producer/proof_buffer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ type ProofBuffer struct {
2525
// NewProofBuffer creates a new ProofBuffer instance.
2626
func NewProofBuffer(maxLength uint64) *ProofBuffer {
2727
return &ProofBuffer{
28-
buffer: make([]*ProofResponse, 0, maxLength),
29-
MaxLength: maxLength,
28+
buffer: make([]*ProofResponse, 0, maxLength),
29+
MaxLength: maxLength,
3030
}
3131
}
3232

packages/taiko-client/prover/proof_submitter/proof_submitter.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -190,21 +190,22 @@ func (s *ProofSubmitterPacaya) RequestProof(ctx context.Context, meta metadata.T
190190
meta,
191191
startAt,
192192
); err != nil {
193-
if errors.Is(err, proofProducer.ErrProofInProgress) || errors.Is(err, proofProducer.ErrRetry) {
194-
if time.Since(startAt) > maxProofRequestTimeout {
195-
log.Warn("Retry timeout exceeded maxProofRequestTimeout, switching to SGX proof as fallback")
193+
if time.Since(startAt) > maxProofRequestTimeout {
194+
log.Warn("Retry timeout exceeded maxProofRequestTimeout, switching to SGX proof as fallback")
195+
useZK = false
196+
startAt = time.Now()
197+
} else {
198+
if errors.Is(err, proofProducer.ErrZkAnyNotDrawn) {
199+
log.Debug(
200+
"ZK proof was not chosen, attempting to request SGX proof",
201+
"batchID", opts.BatchID,
202+
"err", err,
203+
)
196204
useZK = false
197205
startAt = time.Now()
198-
} else {
199-
return fmt.Errorf("zk proof is WIP, status: %w", err)
200206
}
201-
} else {
202-
log.Debug(
203-
"ZK proof was not chosen or got unexpected error, attempting to request SGX proof",
204-
"batchID", opts.BatchID,
205-
)
206-
useZK = false
207-
startAt = time.Now()
207+
log.Debug("Got error, retrying", "err", err)
208+
return err
208209
}
209210
}
210211
}

packages/taiko-client/prover/proof_submitter/proof_submitter_shasta.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -185,21 +185,22 @@ func (s *ProofSubmitterShasta) RequestProof(ctx context.Context, meta metadata.T
185185
meta,
186186
startAt,
187187
); err != nil {
188-
if errors.Is(err, proofProducer.ErrProofInProgress) || errors.Is(err, proofProducer.ErrRetry) {
189-
if time.Since(startAt) > maxProofRequestTimeout {
190-
log.Warn("Retry timeout exceeded maxProofRequestTimeout, switching to SGX proof as fallback")
188+
if time.Since(startAt) > maxProofRequestTimeout {
189+
log.Warn("Retry timeout exceeded maxProofRequestTimeout, switching to SGX proof as fallback")
190+
useZK = false
191+
startAt = time.Now()
192+
} else {
193+
if errors.Is(err, proofProducer.ErrZkAnyNotDrawn) {
194+
log.Debug(
195+
"ZK proof was not chosen, attempting to request SGX proof",
196+
"proposalID", opts.ProposalID,
197+
"err", err,
198+
)
191199
useZK = false
192200
startAt = time.Now()
193-
} else {
194-
return fmt.Errorf("zk proof is WIP, status: %w", err)
195201
}
196-
} else {
197-
log.Debug(
198-
"ZK proof was not chosen or got unexpected error, attempting to request SGX proof",
199-
"proposalID", opts.ProposalID,
200-
)
201-
useZK = false
202-
startAt = time.Now()
202+
log.Debug("Got error, retrying", "err", err)
203+
return err
203204
}
204205
}
205206
}

0 commit comments

Comments
 (0)