Skip to content

Commit

Permalink
feat(taiko-client): make request timeout to raiko configurable (#17728)
Browse files Browse the repository at this point in the history
  • Loading branch information
YoGhurt111 committed Jul 3, 2024
1 parent 8c9a032 commit f8f796c
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 13 deletions.
8 changes: 8 additions & 0 deletions packages/taiko-client/cmd/flags/prover.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ var (
Category: proverCategory,
EnvVars: []string{"RAIKO_JWT_PATH"},
}
RaikoRequestTimeout = &cli.DurationFlag{
Name: "raiko.requestTimeout",
Usage: "Timeout in minutes for raiko request",
Category: commonCategory,
Value: 10 * time.Minute,
EnvVars: []string{"RAIKO_REQUEST_TIMEOUT"},
}
StartingBlockID = &cli.Uint64Flag{
Name: "prover.startingBlockID",
Usage: "If set, prover will start proving blocks from the block with this ID",
Expand Down Expand Up @@ -235,4 +242,5 @@ var ProverFlags = MergeFlags(CommonFlags, []cli.Flag{
L1NodeVersion,
L2NodeVersion,
BlockConfirmations,
RaikoRequestTimeout,
}, TxmgrFlags)
2 changes: 2 additions & 0 deletions packages/taiko-client/prover/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ type Config struct {
GuardianProverHealthCheckServerEndpoint *url.URL
RaikoHostEndpoint string
RaikoJWT string
RaikoRequestTimeout time.Duration
L1NodeVersion string
L2NodeVersion string
BlockConfirmations uint64
Expand Down Expand Up @@ -163,6 +164,7 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
L1ProverPrivKey: l1ProverPrivKey,
RaikoHostEndpoint: c.String(flags.RaikoHostEndpoint.Name),
RaikoJWT: common.Bytes2Hex(jwtSecret),
RaikoRequestTimeout: c.Duration(flags.RaikoRequestTimeout.Name),
StartingBlockID: startingBlockID,
Dummy: c.Bool(flags.Dummy.Name),
GuardianProverMinorityAddress: common.HexToAddress(c.String(flags.GuardianProverMinority.Name)),
Expand Down
9 changes: 5 additions & 4 deletions packages/taiko-client/prover/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,11 @@ func (p *Prover) initProofSubmitters(
producer = &proofProducer.OptimisticProofProducer{}
case encoding.TierSgxID:
producer = &proofProducer.SGXProofProducer{
RaikoHostEndpoint: p.cfg.RaikoHostEndpoint,
JWT: p.cfg.RaikoJWT,
ProofType: proofProducer.ProofTypeSgx,
Dummy: p.cfg.Dummy,
RaikoHostEndpoint: p.cfg.RaikoHostEndpoint,
JWT: p.cfg.RaikoJWT,
ProofType: proofProducer.ProofTypeSgx,
Dummy: p.cfg.Dummy,
RaikoRequestTimeout: p.cfg.RaikoRequestTimeout,
}
case encoding.TierGuardianMinorityID:
producer = proofProducer.NewGuardianProofProducer(encoding.TierGuardianMinorityID, p.cfg.EnableLivenessBondProof)
Expand Down
15 changes: 6 additions & 9 deletions packages/taiko-client/prover/proof_producer/sgx_producer.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,13 @@ const (
ProofTypeCPU = "native"
)

var (
defaultRequestTimeout = 10 * time.Minute
)

// SGXProofProducer generates a SGX proof for the given block.
type SGXProofProducer struct {
RaikoHostEndpoint string // a proverd RPC endpoint
ProofType string // Proof type
JWT string // JWT provided by Raiko
Dummy bool
RaikoHostEndpoint string // a proverd RPC endpoint
ProofType string // Proof type
JWT string // JWT provided by Raiko
Dummy bool
RaikoRequestTimeout time.Duration
DummyProofProducer
}

Expand Down Expand Up @@ -118,7 +115,7 @@ func (s *SGXProofProducer) callProverDaemon(ctx context.Context, opts *ProofRequ
start = time.Now()
)

ctx, cancel := rpc.CtxWithTimeoutOrDefault(ctx, defaultRequestTimeout)
ctx, cancel := rpc.CtxWithTimeoutOrDefault(ctx, s.RaikoRequestTimeout)
defer cancel()

output, err := s.requestProof(ctx, opts)
Expand Down

0 comments on commit f8f796c

Please sign in to comment.