func (v *Verifiable) SignCredential(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdverifiable.SignCredentialRequest{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdverifiable.SignCredentialCommandMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
SignCredential adds proof to given verifiable credential.
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"
	cmdverifiable "github.com/hyperledger/aries-framework-go/pkg/controller/command/verifiable"
)
type Verifiable struct {
	handlers map[string]command.Exec
}
func (v *Verifiable) ValidateCredential(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdverifiable.Credential{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdverifiable.ValidateCredentialCommandMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *Verifiable) SaveCredential(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdverifiable.CredentialExt{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdverifiable.SaveCredentialCommandMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *Verifiable) SavePresentation(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdverifiable.PresentationExt{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdverifiable.SavePresentationCommandMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}
func (v *Verifiable) GetCredential(request *models.RequestEnvelope) *models.ResponseEnvelope {
	args := cmdverifiable.IDArg{}
	if err := json.Unmarshal(request.Payload, &args); err != nil {
		return &models.ResponseEnvelope{Error: &models.CommandError{Message: err.Error()}}
	}
	response, cmdErr := exec(v.handlers[cmdverifiable.GetCredentialCommandMethod], args)
	if cmdErr != nil {
		return &models.ResponseEnvelope{Error: cmdErr}
	}
	return &models.ResponseEnvelope{Payload: response}
}