pub fn is_retryable(err: &ClientError) -> bool {
    match err {
        ClientError::Transport(_) | ClientError::RequestTimeout => true,
        ClientError::Call(err) => {
            // At least some RPC providers use "internal error" in case of the server being overloaded

            err.code() == ErrorCode::ServerIsBusy.code()
                || err.code() == ErrorCode::InternalError.code()
        }
        _ => false,
    }
}
Whether the error should be considered retriable.
core/lib/web3_decl/src/error.rs