Documentation
¶
Index ¶
- Constants
- type AuthCapabilityProvider
- type Command
- func (o *Command) Connect(rw io.Writer, req io.Reader) command.Error
- func (o *Command) GetHandlers() []command.Handler
- func (o *Command) PresentProof(rw io.Writer, req io.Reader) command.Error
- func (o *Command) ProposeCredential(rw io.Writer, req io.Reader) command.Error
- func (o *Command) ProposePresentation(rw io.Writer, req io.Reader) command.Error
- func (o *Command) RequestCredential(rw io.Writer, req io.Reader) command.Error
- type Config
- type ConnectOpts
- type ConnectRequest
- type ConnectResponse
- type HTTPHeaderSigner
- type PresentProofRequest
- type PresentProofResponse
- type ProposeCredentialRequest
- type ProposeCredentialResponse
- type ProposePresentationRequest
- type ProposePresentationResponse
- type RequestCredentialRequest
- type RequestCredentialResponse
Constants ¶
const ( // InvalidRequestErrorCode is typically a code for invalid requests. InvalidRequestErrorCode = command.Code(iota + command.VCWallet) // DIDConnectErrorCode for errors while performing DID connect in wallet. DIDConnectErrorCode // ProposePresentationErrorCode for errors while proposing presentation. ProposePresentationErrorCode // PresentProofErrorCode for errors while presenting proof from wallet. PresentProofErrorCode // ProposeCredentialErrorCode for errors while proposing credential from wallet. ProposeCredentialErrorCode // RequestCredentialErrorCode for errors while request credential from wallet for issue credential protocol. RequestCredentialErrorCode )
Error codes.
const ( // command methods. ConnectMethod = "Connect" ProposePresentationMethod = "ProposePresentation" PresentProofMethod = "PresentProof" ProposeCredentialMethod = "ProposeCredential" RequestCredentialMethod = "RequestCredential" )
All command operations.
const (
LabelString = "label"
)
miscellaneous constants for the vc wallet command controller.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthCapabilityProvider ¶
type AuthCapabilityProvider = vcwallet.AuthCapabilityProvider
AuthCapabilityProvider is for providing Authorization Capabilities (ZCAP-LD) feature for wallet's EDV and WebKMS components.
type Command ¶
Command extends vcwallet.Command to add didComm functionality.
func (*Command) GetHandlers ¶
GetHandlers returns list of all commands supported by this controller command.
func (*Command) PresentProof ¶
PresentProof sends present proof message from wallet to relying party. https://w3c-ccg.github.io/universal-wallet-interop-spec/#presentproof
Currently Supporting [0454-present-proof-v2](https://github.com/hyperledger/aries-rfcs/tree/master/features/0454-present-proof-v2)
func (*Command) ProposeCredential ¶
ProposeCredential sends propose credential message from wallet to issuer. https://w3c-ccg.github.io/universal-wallet-interop-spec/#proposecredential
Currently Supporting : 0453-issueCredentialV2 https://github.com/hyperledger/aries-rfcs/blob/main/features/0453-issue-credential-v2/README.md
func (*Command) ProposePresentation ¶
ProposePresentation accepts out-of-band invitation and sends message proposing presentation from wallet to relying party. https://w3c-ccg.github.io/universal-wallet-interop-spec/#proposepresentation
Currently Supporting [0454-present-proof-v2](https://github.com/hyperledger/aries-rfcs/tree/master/features/0454-present-proof-v2)
func (*Command) RequestCredential ¶
RequestCredential sends request credential message from wallet to issuer and optionally waits for credential response. https://w3c-ccg.github.io/universal-wallet-interop-spec/#requestcredential
Currently Supporting : 0453-issueCredentialV2 https://github.com/hyperledger/aries-rfcs/blob/main/features/0453-issue-credential-v2/README.md
type Config ¶
Config contains properties to customize verifiable credential wallet controller. All properties of this config are optional, but they can be used to customize wallet's webkms and edv client's.
type ConnectOpts ¶
type ConnectOpts struct {
// Label to be shared with the other agent during the subsequent DID exchange.
MyLabel string `json:"myLabel,omitempty"`
// router connections to be used to establish connection.
RouterConnections []string `json:"routerConnections,omitempty"`
// DID to be used when reusing a connection.
ReuseConnection string `json:"reuseConnection,omitempty"`
// To use any recognized DID in the services array for a reusable connection.
ReuseAnyConnection bool `json:"reuseAnyConnection,omitempty"`
// Timeout (in milliseconds) waiting for connection status to be completed.
Timeout time.Duration `json:"timeout,omitempty"`
}
ConnectOpts is option for accepting out-of-band invitation and to perform DID exchange.
type ConnectRequest ¶
type ConnectRequest struct {
vcwallet.WalletAuth
// out-of-band invitation to establish connection.
Invitation *outofband.Invitation `json:"invitation"`
ConnectOpts
}
ConnectRequest is request model for wallet DID connect operation.
type ConnectResponse ¶
type ConnectResponse struct {
// connection ID of the connection established.
ConnectionID string `json:"connectionID"`
}
ConnectResponse is response model from wallet DID connection operation.
type HTTPHeaderSigner ¶
type HTTPHeaderSigner = vcwallet.HTTPHeaderSigner
HTTPHeaderSigner is for http header signing, typically used for zcapld functionality.
type PresentProofRequest ¶
type PresentProofRequest struct {
vcwallet.WalletAuth
// Thread ID from request presentation response
ThreadID string `json:"threadID,omitempty"`
// presentation to be sent as part of present proof message.
Presentation json.RawMessage `json:"presentation,omitempty"`
// If true then wallet will wait for present proof protocol status to be
// done or abandoned till given Timeout.
// Also, will return web redirect info if found in acknowledgment message or problem-report.
WaitForDone bool `json:"waitForDone,omitempty"`
// Optional timeout (in milliseconds) waiting for present proof operation to be done.
// will be taken into account only when WaitForDone is enabled.
// If not provided then wallet will use its default timeout.
Timeout time.Duration `json:"WaitForDoneTimeout,omitempty"`
}
PresentProofRequest is request model from wallet present proof operation. Supported attachment MIME type "application/ld+json".
type PresentProofResponse ¶
type PresentProofResponse struct {
wallet.CredentialInteractionStatus
}
PresentProofResponse is response model from wallet present proof operation.
type ProposeCredentialRequest ¶
type ProposeCredentialRequest struct {
vcwallet.WalletAuth
// out-of-band invitation to establish connection and send propose credential message.
Invitation *wallet.GenericInvitation `json:"invitation"`
// Optional From DID option to customize sender DID.
FromDID string `json:"from,omitempty"`
// Timeout (in milliseconds) waiting for operation to be completed.
Timeout time.Duration `json:"timeout,omitempty"`
// Options for accepting out-of-band invitation and to perform DID exchange (for DIDComm V1).
ConnectionOpts ConnectOpts `json:"connectOptions,omitempty"`
}
ProposeCredentialRequest is request model for performing propose credential operation from wallet.
type ProposeCredentialResponse ¶
type ProposeCredentialResponse struct {
// response offer credential message from issuer.
OfferCredential *service.DIDCommMsgMap `json:"offerCredential,omitempty"`
}
ProposeCredentialResponse is response model from wallet propose credential operation.
type ProposePresentationRequest ¶
type ProposePresentationRequest struct {
vcwallet.WalletAuth
// out-of-band invitation to establish connection and send propose presentation message.
Invitation *wallet.GenericInvitation `json:"invitation"`
// Optional From DID option to customize sender DID.
FromDID string `json:"from,omitempty"`
// Timeout (in milliseconds) waiting for operation to be completed.
Timeout time.Duration `json:"timeout,omitempty"`
// Options for accepting out-of-band invitation and to perform DID exchange (for DIDComm V1).
ConnectionOpts ConnectOpts `json:"connectOptions,omitempty"`
}
ProposePresentationRequest is request model for performing propose presentation operation from wallet.
type ProposePresentationResponse ¶
type ProposePresentationResponse struct {
// response request presentation message from relying party.
PresentationRequest *service.DIDCommMsgMap `json:"presentationRequest,omitempty"`
}
ProposePresentationResponse is response model from wallet propose presentation operation.
type RequestCredentialRequest ¶
type RequestCredentialRequest struct {
vcwallet.WalletAuth
// Thread ID from offer credential response previously received during propose credential interaction.
ThreadID string `json:"threadID,omitempty"`
// presentation to be sent as part of request credential message.
Presentation json.RawMessage `json:"presentation,omitempty"`
// If true then wallet will wait till it receives credential response response from issuer for given Timeout.
// Also, will return web redirect info if found in response message or problem-report.
WaitForDone bool `json:"waitForDone,omitempty"`
// Optional timeout (in milliseconds) waiting for credential response to arrive.
// will be taken into account only when WaitForDone is enabled.
// If not provided then wallet will use its default timeout.
Timeout time.Duration `json:"WaitForDoneTimeout,omitempty"`
}
RequestCredentialRequest is request model from wallet request credential operation. Supported attachment MIME type "application/ld+json".
type RequestCredentialResponse ¶
type RequestCredentialResponse struct {
wallet.CredentialInteractionStatus
}
RequestCredentialResponse is response model from wallet request credential operation.