diff --git a/README.md b/README.md index 5410e4a5b..728eb3a58 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ Mantle's modular architecture helps achieve greater network efficiency for resou Different parts of the Mantle tech stack are specialized to tackle specific issues. -- [**Decentralized Sequencer**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/decentralized-sequencer): A permissionless set of L2 block producers - [**Data Availability**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/solving-data-availability): Implementing EigenDA, an innovative re-staking solution that leverages Ethereum's validator network to bring the security of L1 to L2 - [**EVM-level Fraud Proofs**](https://docs.mantle.xyz/introducing-mantle/a-gentle-introduction/fraud-proofs): Improved fraud proofs that are evaluated using EVM-level instructions diff --git a/tss/ws/client/tm/client.go b/tss/ws/client/tm/client.go index 258246bf9..3c6e9fbc7 100644 --- a/tss/ws/client/tm/client.go +++ b/tss/ws/client/tm/client.go @@ -27,6 +27,7 @@ const ( defaultWriteWait = 0 defaultReadWait = 0 defaultPingPeriod = 0 + defaultMaxSleepTime = 3600 * time.Second ) // WSClient is a JSON-RPC client, which uses WebSocket for communication with @@ -282,6 +283,9 @@ func (c *WSClient) reconnect() error { for { backoffDuration := (1 << uint(attempt)) * time.Second + if backoffDuration > defaultMaxSleepTime { + backoffDuration = defaultMaxSleepTime + } c.Logger.Info("reconnecting", "attempt", attempt+1, "backoff_duration", backoffDuration) time.Sleep(backoffDuration)