func New(address, serverCert, clientCert, clientKey string, options ...Option) (*Client, error) {
	opts := newOptions()
	for _, option := range options {
		option(opts)
	}
	client, err := client.New(
		net.EnsureHTTPS(address),
		client.WithTLSServerCert(serverCert),
		client.WithTLSClientCert(clientCert),
		client.WithTLSClientKey(clientKey),
		client.WithLogger(opts.logger),
	)
	if err != nil {
		return nil, errors.WithStack(err)
	}
	return &Client{
		client: client,
		logger: opts.logger,
	}, nil
}
New creates a Client using the address and certificates.
package client
import (
	"time"
	"github.com/go-kit/kit/log"
	"github.com/pkg/errors"
	"github.com/spoke-d/thermionic/internal/net"
	"github.com/spoke-d/thermionic/pkg/client"
)
type Client struct {
	client *client.Client
	nonce  string
	logger log.Logger
}