# Functions

AutoExecute will automatically execute the issue-credential V2 protocol using ReplayProposal, ReplayOffer, and IssueCredential by handling the associated actions if they contain RFC0593 attachments.
CreateIssueCredentialMsg creates an issue-credential message using the credential spec.
FindAttachment returns the attachment corresponding to the RFC0593 format entry.
GetCredentialSpec extracts the CredentialSpec from the formats and attachments.
IssueCredential attaches an LD proof to the template VC in the inbound request message and attaches the verifiable credential to an outbound issue-credential message.
NewMiddleware returns a new Middleware that can be used with the issuecredential protocol service in conjunction with AutoExecute when the protocol needs to be started with a request-credential message.
RegisterMiddleware registers the Middleware in the IssueCredentialService looked up from the ServiceProvider.
ReplayOffer replays the inbound offered CredentialSpec as an outbound request that can be sent back to the original sender.
ReplayProposal replays the inbound proposed CredentialSpec as an outbound offer that can be sent back to the original sender.
ValidateVCMatchesSpecOptions ensures the vc matches the spec.
VerifyCredential verifies the credential received in an RFC0593 issue-credential message.

# Constants

ProofVCDetailFormat is the attachment format used in the proposal, offer, and request message attachments.
ProofVCFormat is the attachment format used in the issue-credential message attachment.
StoreName is the name of the transient store used by AutoExecute.

# Variables

DefaultSignatureSuiteSpecs are the signature suites supported by default.
ErrRFC0593NotApplicable indicates RFC0593 does not apply to the message being handled because it does not contain an attachment with the proof format identifiers.

# Structs

CredentialSpec is the attachment payload in messages conforming to the RFC0593 format.
CredentialSpecOptions are the options for issuance of the credential.
CredentialStatus is the requested status for the credential.
SignatureSuiteSpec specifies how to instantiate a signature suite and its proof.

# Interfaces

IssueCredentialService defines the API required on the issue-credential protocol service implementation.
JSONLDDocumentLoaderProvider provides an ld.DocumentLoader.
Provider provides all dependencies.
ServiceProvider is used to lookup the issuecredential service.
Signer is used to create signer.SignatureSuite and attach LD proofs.
TransientStorage provides transient storage.

# Type aliases

Middleware is the RFC0593 issuecredential.Middleware that can be injected into the protocol service.