func IsConnTimeout(err error) bool {
	_, ok := errors.Unwrap(err).(timeoutError)
	switch {
	case errors.As(err, &EndpointTimeoutError{}):
		return true
	case ok:
		return true
	default:
		return false
	}
}
IsConnTimeout returns a boolean indicating whether the error is known to
report that a connection timeout occurred. This detects both fundamental
network timeouts, as well as ErrConnTimeout errors.
package privval
import (
	"errors"
	"fmt"
	"net"
	"github.com/tendermint/tendermint/crypto/ed25519"
	"github.com/tendermint/tendermint/libs/log"
	tmnet "github.com/tendermint/tendermint/libs/net"
)