Skip to content

Commit

Permalink
fix(taiko-client): ignore err when no tiers info onchain (#18873)
Browse files Browse the repository at this point in the history
Co-authored-by: Gavin “yoghurt” Yu <[email protected]>
  • Loading branch information
YoGhurt111 and Gavin “yoghurt” Yu authored Feb 4, 2025
1 parent d619138 commit 998c79a
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 68 deletions.
133 changes: 67 additions & 66 deletions packages/taiko-client/prover/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,77 +96,78 @@ func (p *Prover) initProofSubmitters(
txBuilder *transaction.ProveBlockTxBuilder,
tiers []*rpc.TierProviderTierWithID,
) (err error) {
for _, tier := range p.sharedState.GetTiers() {
var (
bufferSize = p.cfg.SGXProofBufferSize
producer proofProducer.ProofProducer
submitter proofSubmitter.Submitter
err error
)
switch tier.ID {
case encoding.TierOptimisticID:
producer = &proofProducer.OptimisticProofProducer{}
case encoding.TierSgxID:
producer = &proofProducer.SGXProofProducer{
RaikoHostEndpoint: p.cfg.RaikoHostEndpoint,
JWT: p.cfg.RaikoJWT,
ProofType: proofProducer.ProofTypeSgx,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
}
case encoding.TierZkVMRisc0ID:
producer = &proofProducer.ZKvmProofProducer{
ZKProofType: proofProducer.ZKProofTypeR0,
RaikoHostEndpoint: p.cfg.RaikoZKVMHostEndpoint,
JWT: p.cfg.RaikoJWT,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
if len(tiers) > 0 {
for _, tier := range p.sharedState.GetTiers() {
var (
bufferSize = p.cfg.SGXProofBufferSize
producer proofProducer.ProofProducer
submitter proofSubmitter.Submitter
err error
)
switch tier.ID {
case encoding.TierOptimisticID:
producer = &proofProducer.OptimisticProofProducer{}
case encoding.TierSgxID:
producer = &proofProducer.SGXProofProducer{
RaikoHostEndpoint: p.cfg.RaikoHostEndpoint,
JWT: p.cfg.RaikoJWT,
ProofType: proofProducer.ProofTypeSgx,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
}
case encoding.TierZkVMRisc0ID:
producer = &proofProducer.ZKvmProofProducer{
ZKProofType: proofProducer.ZKProofTypeR0,
RaikoHostEndpoint: p.cfg.RaikoZKVMHostEndpoint,
JWT: p.cfg.RaikoJWT,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
}
bufferSize = p.cfg.ZKVMProofBufferSize
case encoding.TierZkVMSp1ID:
producer = &proofProducer.ZKvmProofProducer{
ZKProofType: proofProducer.ZKProofTypeSP1,
RaikoHostEndpoint: p.cfg.RaikoZKVMHostEndpoint,
JWT: p.cfg.RaikoJWT,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
}
bufferSize = p.cfg.ZKVMProofBufferSize
case encoding.TierGuardianMinorityID:
producer = proofProducer.NewGuardianProofProducer(encoding.TierGuardianMinorityID, p.cfg.EnableLivenessBondProof)
bufferSize = 0
case encoding.TierGuardianMajorityID:
producer = proofProducer.NewGuardianProofProducer(encoding.TierGuardianMajorityID, p.cfg.EnableLivenessBondProof)
bufferSize = 0
default:
return fmt.Errorf("unsupported tier: %d", tier.ID)
}
bufferSize = p.cfg.ZKVMProofBufferSize
case encoding.TierZkVMSp1ID:
producer = &proofProducer.ZKvmProofProducer{
ZKProofType: proofProducer.ZKProofTypeSP1,
RaikoHostEndpoint: p.cfg.RaikoZKVMHostEndpoint,
JWT: p.cfg.RaikoJWT,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,

if submitter, err = proofSubmitter.NewProofSubmitterOntake(
p.rpc,
producer,
p.proofGenerationCh,
p.batchProofGenerationCh,
p.aggregationNotify,
p.cfg.ProverSetAddress,
p.cfg.TaikoL2Address,
p.cfg.Graffiti,
p.cfg.ProveBlockGasLimit,
p.txmgr,
p.privateTxmgr,
txBuilder,
tiers,
p.IsGuardianProver(),
p.cfg.GuardianProofSubmissionDelay,
bufferSize,
p.cfg.ForceBatchProvingInterval,
); err != nil {
return err
}
bufferSize = p.cfg.ZKVMProofBufferSize
case encoding.TierGuardianMinorityID:
producer = proofProducer.NewGuardianProofProducer(encoding.TierGuardianMinorityID, p.cfg.EnableLivenessBondProof)
bufferSize = 0
case encoding.TierGuardianMajorityID:
producer = proofProducer.NewGuardianProofProducer(encoding.TierGuardianMajorityID, p.cfg.EnableLivenessBondProof)
bufferSize = 0
default:
return fmt.Errorf("unsupported tier: %d", tier.ID)
}

if submitter, err = proofSubmitter.NewProofSubmitterOntake(
p.rpc,
producer,
p.proofGenerationCh,
p.batchProofGenerationCh,
p.aggregationNotify,
p.cfg.ProverSetAddress,
p.cfg.TaikoL2Address,
p.cfg.Graffiti,
p.cfg.ProveBlockGasLimit,
p.txmgr,
p.privateTxmgr,
txBuilder,
tiers,
p.IsGuardianProver(),
p.cfg.GuardianProofSubmissionDelay,
bufferSize,
p.cfg.ForceBatchProvingInterval,
); err != nil {
return err
p.proofSubmittersOntake = append(p.proofSubmittersOntake, submitter)
}

p.proofSubmittersOntake = append(p.proofSubmittersOntake, submitter)
}

if p.proofSubmitterPacaya, err = proofSubmitter.NewProofSubmitterPacaya(
p.rpc,
&proofProducer.OptimisticProofProducer{},
Expand Down
4 changes: 2 additions & 2 deletions packages/taiko-client/prover/prover.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"sync"
"time"

"github.com/cenkalti/backoff/v4"
"github.com/cenkalti/backoff"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
Expand Down Expand Up @@ -153,7 +153,7 @@ func InitFromConfig(

// Protocol proof tiers
if err := p.initProofTiers(ctx); err != nil {
return fmt.Errorf("initialize proof tiers error: %w", err)
log.Warn("Initialize proof tiers error", "error", err)
}

txBuilder := transaction.NewProveBlockTxBuilder(
Expand Down

0 comments on commit 998c79a

Please sign in to comment.