Skip to content

Commit

Permalink
Add fireblocks API timeout (#489)
Browse files Browse the repository at this point in the history
  • Loading branch information
ian-shim authored Apr 18, 2024
1 parent bba4eec commit 66a8486
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 11 deletions.
11 changes: 6 additions & 5 deletions disperser/batcher/batcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,12 @@ type QuorumInfo struct {
}

type TimeoutConfig struct {
EncodingTimeout time.Duration
AttestationTimeout time.Duration
ChainReadTimeout time.Duration
ChainWriteTimeout time.Duration
ChainStateTimeout time.Duration
EncodingTimeout time.Duration
AttestationTimeout time.Duration
ChainReadTimeout time.Duration
ChainWriteTimeout time.Duration
ChainStateTimeout time.Duration
FireblocksAPITimeout time.Duration
}

type Config struct {
Expand Down
11 changes: 6 additions & 5 deletions disperser/cmd/batcher/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,12 @@ func NewConfig(ctx *cli.Context) (Config, error) {
FinalizationBlockDelay: ctx.GlobalUint(flags.FinalizationBlockDelayFlag.Name),
},
TimeoutConfig: batcher.TimeoutConfig{
EncodingTimeout: ctx.GlobalDuration(flags.EncodingTimeoutFlag.Name),
AttestationTimeout: ctx.GlobalDuration(flags.AttestationTimeoutFlag.Name),
ChainReadTimeout: ctx.GlobalDuration(flags.ChainReadTimeoutFlag.Name),
ChainWriteTimeout: ctx.GlobalDuration(flags.ChainWriteTimeoutFlag.Name),
ChainStateTimeout: ctx.GlobalDuration(flags.ChainStateTimeoutFlag.Name),
EncodingTimeout: ctx.GlobalDuration(flags.EncodingTimeoutFlag.Name),
AttestationTimeout: ctx.GlobalDuration(flags.AttestationTimeoutFlag.Name),
ChainReadTimeout: ctx.GlobalDuration(flags.ChainReadTimeoutFlag.Name),
ChainWriteTimeout: ctx.GlobalDuration(flags.ChainWriteTimeoutFlag.Name),
ChainStateTimeout: ctx.GlobalDuration(flags.ChainStateTimeoutFlag.Name),
FireblocksAPITimeout: ctx.GlobalDuration(flags.FireblocksAPITimeoutFlag.Name),
},
MetricsConfig: batcher.MetricsConfig{
HTTPPort: ctx.GlobalString(flags.MetricsHTTPPort.Name),
Expand Down
8 changes: 8 additions & 0 deletions disperser/cmd/batcher/flags/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,13 @@ var (
Value: 15 * time.Second,
EnvVar: common.PrefixEnvVar(envVarPrefix, "CHAIN_STATE_TIMEOUT"),
}
FireblocksAPITimeoutFlag = cli.DurationFlag{
Name: "fireblocks-write-timeout",
Usage: "connection timeout to get API response from Fireblocks",
Required: false,
Value: 10 * time.Second,
EnvVar: common.PrefixEnvVar(envVarPrefix, "FIREBLOCKS_API_TIMEOUT"),
}
NumConnectionsFlag = cli.IntFlag{
Name: "num-connections",
Usage: "maximum number of connections to encoders (defaults to 256)",
Expand Down Expand Up @@ -209,6 +216,7 @@ var optionalFlags = []cli.Flag{
ChainReadTimeoutFlag,
ChainWriteTimeoutFlag,
ChainStateTimeoutFlag,
FireblocksAPITimeoutFlag,
NumConnectionsFlag,
FinalizerIntervalFlag,
FinalizerPoolSizeFlag,
Expand Down
2 changes: 1 addition & 1 deletion disperser/cmd/batcher/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ func RunBatcher(ctx *cli.Context) error {
apiKey,
[]byte(secretKey),
config.FireblocksConfig.BaseURL,
config.TimeoutConfig.ChainReadTimeout,
config.TimeoutConfig.FireblocksAPITimeout,
logger.With("component", "FireblocksClient"),
)
if err != nil {
Expand Down

0 comments on commit 66a8486

Please sign in to comment.