func WithKeyServerURL(url string) ProfileOptions {
	return func(opts *profileOpts) {
		opts.keyServerURL = url
	}
}
WithKeyServerURL option, when provided then wallet will use remote kms for key operations.
This option will be ignore if provided with 'WithSecretLockService' option.
package wallet
import (
	"encoding/json"
	"time"
	"github.com/hyperledger/aries-framework-go/component/storage/edv"
	"github.com/hyperledger/aries-framework-go/pkg/client/outofband"
	"github.com/hyperledger/aries-framework-go/pkg/doc/verifiable"
	"github.com/hyperledger/aries-framework-go/pkg/kms/webkms"
	"github.com/hyperledger/aries-framework-go/pkg/secretlock"
)
type profileOpts struct {
	secretLockSvc secretlock.Service
	passphrase    string
	keyServerURL string
	edvConf *edvConf
}
type ProfileOptions func(opts *profileOpts)
func WithSecretLockService(svc secretlock.Service) ProfileOptions {
	return func(opts *profileOpts) {
		opts.secretLockSvc = svc
	}
}
func WithPassphrase(passphrase string) ProfileOptions {
	return func(opts *profileOpts) {
		opts.passphrase = passphrase
	}
}