func (v *VCWallet) Connect(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.ConnectRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.ConnectMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
Connect accepts out-of-band invitations and performs DID exchange.
package command
import (
	"encoding/json"
	"github.com/hyperledger/aries-framework-go/cmd/aries-agent-mobile/pkg/wrappers/models"
	"github.com/hyperledger/aries-framework-go/pkg/controller/command"
	cmdvcwallet "github.com/hyperledger/aries-framework-go/pkg/controller/command/vcwallet"
)
type VCWallet struct {
	handlers map[string]command.Exec
}
func (v *VCWallet) CreateProfile(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.CreateOrUpdateProfileRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.CreateProfileMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) UpdateProfile(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.CreateOrUpdateProfileRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.UpdateProfileMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) ProfileExists(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.WalletUser{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.ProfileExistsMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Open(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.UnlockWalletRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.OpenMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Close(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.LockWalletRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.CloseMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Add(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.AddContentRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.AddMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Remove(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.RemoveContentRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.RemoveMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Get(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.GetContentRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.GetMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) GetAll(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.GetAllContentRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.GetAllMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Query(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.ContentQueryRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.QueryMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Issue(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.IssueRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.IssueMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Prove(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.ProveRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.ProveMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Verify(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.VerifyRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.VerifyMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) Derive(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.DeriveRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.DeriveMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *VCWallet) CreateKeyPair(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdvcwallet.CreateKeyPairRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdvcwallet.CreateKeyPairMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}