diff --git a/disperser/batcher/batcher.go b/disperser/batcher/batcher.go index a8f8eec7c3..28403f494e 100644 --- a/disperser/batcher/batcher.go +++ b/disperser/batcher/batcher.go @@ -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 { diff --git a/disperser/cmd/batcher/config.go b/disperser/cmd/batcher/config.go index 75e91b3f36..c04b696413 100644 --- a/disperser/cmd/batcher/config.go +++ b/disperser/cmd/batcher/config.go @@ -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), diff --git a/disperser/cmd/batcher/flags/flags.go b/disperser/cmd/batcher/flags/flags.go index 23dd4760d6..b3dcf3f2d9 100644 --- a/disperser/cmd/batcher/flags/flags.go +++ b/disperser/cmd/batcher/flags/flags.go @@ -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)", @@ -209,6 +216,7 @@ var optionalFlags = []cli.Flag{ ChainReadTimeoutFlag, ChainWriteTimeoutFlag, ChainStateTimeoutFlag, + FireblocksAPITimeoutFlag, NumConnectionsFlag, FinalizerIntervalFlag, FinalizerPoolSizeFlag, diff --git a/disperser/cmd/batcher/main.go b/disperser/cmd/batcher/main.go index 5bcda004ff..c33c307d22 100644 --- a/disperser/cmd/batcher/main.go +++ b/disperser/cmd/batcher/main.go @@ -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 {