Documentation ¶
Index ¶
- Constants
- type AddContentRequest
- type AuthCapabilityProvider
- type Command
- func (o *Command) Add(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Close(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Connect(rw io.Writer, req io.Reader) command.Error
- func (o *Command) CreateKeyPair(rw io.Writer, req io.Reader) command.Error
- func (o *Command) CreateProfile(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Derive(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Get(rw io.Writer, req io.Reader) command.Error
- func (o *Command) GetAll(rw io.Writer, req io.Reader) command.Error
- func (o *Command) GetHandlers() []command.Handler
- func (o *Command) Issue(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Open(rw io.Writer, req io.Reader) command.Error
- func (o *Command) PresentProof(rw io.Writer, req io.Reader) command.Error
- func (o *Command) ProfileExists(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) Prove(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Query(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Remove(rw io.Writer, req io.Reader) command.Error
- func (o *Command) RequestCredential(rw io.Writer, req io.Reader) command.Error
- func (o *Command) ResolveCredentialManifest(rw io.Writer, req io.Reader) command.Error
- func (o *Command) UpdateProfile(rw io.Writer, req io.Reader) command.Error
- func (o *Command) Verify(rw io.Writer, req io.Reader) command.Error
- type Config
- type ConnectOpts
- type ConnectRequest
- type ConnectResponse
- type ContentQueryRequest
- type ContentQueryResponse
- type CreateKeyPairRequest
- type CreateKeyPairResponse
- type CreateOrUpdateProfileRequest
- type DeriveRequest
- type DeriveResponse
- type EDVConfiguration
- type GetAllContentRequest
- type GetAllContentResponse
- type GetContentRequest
- type GetContentResponse
- type HTTPHeaderSigner
- type IssueRequest
- type IssueResponse
- type LockWalletRequest
- type LockWalletResponse
- type PresentProofRequest
- type PresentProofResponse
- type ProposeCredentialRequest
- type ProposeCredentialResponse
- type ProposePresentationRequest
- type ProposePresentationResponse
- type ProveRequest
- type ProveResponse
- type RemoveContentRequest
- type RequestCredentialRequest
- type RequestCredentialResponse
- type ResolveCredentialManifestRequest
- type ResolveCredentialManifestResponse
- type UnlockAuth
- type UnlockWalletRequest
- type UnlockWalletResponse
- type VerifyRequest
- type VerifyResponse
- type WalletAuth
- type WalletUser
Constants ¶
const ( // InvalidRequestErrorCode is typically a code for invalid requests. InvalidRequestErrorCode = command.Code(iota + command.VCWallet) // CreateProfileErrorCode for errors during create wallet profile operations. CreateProfileErrorCode // UpdateProfileErrorCode for errors during update wallet profile operations. UpdateProfileErrorCode // OpenWalletErrorCode for errors during wallet unlock operations. OpenWalletErrorCode // CloseWalletErrorCode for errors during wallet lock operations. CloseWalletErrorCode // AddToWalletErrorCode for errors while adding contents to wallet. AddToWalletErrorCode // RemoveFromWalletErrorCode for errors while removing contents from wallet. RemoveFromWalletErrorCode // GetFromWalletErrorCode for errors while getting a content from wallet. GetFromWalletErrorCode // GetAllFromWalletErrorCode for errors while getting all contents from wallet. GetAllFromWalletErrorCode // QueryWalletErrorCode for errors while querying credentials contents from wallet. QueryWalletErrorCode // IssueFromWalletErrorCode for errors while issuing a credential from wallet. IssueFromWalletErrorCode // ProveFromWalletErrorCode for errors while producing a presentation from wallet. ProveFromWalletErrorCode // VerifyFromWalletErrorCode for errors while verifying a presentation or credential from wallet. VerifyFromWalletErrorCode // DeriveFromWalletErrorCode for errors while deriving a credential from wallet. DeriveFromWalletErrorCode // CreateKeyPairFromWalletErrorCode for errors while creating key pair from wallet. CreateKeyPairFromWalletErrorCode // ProfileExistsErrorCode for errors while checking if profile exists for a wallet user. ProfileExistsErrorCode // 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 // ResolveCredentialManifestErrorCode for errors while resolving credential manifest from wallet. ResolveCredentialManifestErrorCode )
Error codes.
const ( CommandName = "vcwallet" // command methods. CreateProfileMethod = "CreateProfile" UpdateProfileMethod = "UpdateProfile" ProfileExistsMethod = "ProfileExists" OpenMethod = "Open" CloseMethod = "Close" AddMethod = "Add" RemoveMethod = "Remove" GetMethod = "Get" GetAllMethod = "GetAll" QueryMethod = "Query" IssueMethod = "Issue" ProveMethod = "Prove" VerifyMethod = "Verify" DeriveMethod = "Derive" CreateKeyPairMethod = "CreateKeyPair" ConnectMethod = "Connect" ProposePresentationMethod = "ProposePresentation" PresentProofMethod = "PresentProof" ProposeCredentialMethod = "ProposeCredential" RequestCredentialMethod = "RequestCredential" ResolveCredentialManifestMethod = "ResolveCredentialManifest" )
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 AddContentRequest ¶
type AddContentRequest struct { WalletAuth // type of the content to be added to the wallet. // supported types: collection, credential, didResolutionResponse, metadata, connection, key ContentType wallet.ContentType `json:"contentType"` // content to be added to wallet content store. Content json.RawMessage `json:"content"` // ID of the wallet collection to which this content should belong. CollectionID string `json:"collectionID"` }
AddContentRequest is request for adding a content to wallet.
type AuthCapabilityProvider ¶
type AuthCapabilityProvider interface { // Returns HTTP Header Signer. GetHeaderSigner(authzKeyStoreURL, accessToken, secretShare string) HTTPHeaderSigner }
AuthCapabilityProvider is for providing Authorization Capabilities (ZCAP-LD) feature for wallet's EDV and WebKMS components.
type Command ¶
type Command struct {
// contains filtered or unexported fields
}
Command contains operations provided by verifiable credential wallet controller.
func (*Command) CreateKeyPair ¶
CreateKeyPair creates key pair from wallet.
func (*Command) CreateProfile ¶
CreateProfile creates new wallet profile for given user.
func (*Command) GetHandlers ¶
GetHandlers returns list of all commands supported by this controller command.
func (*Command) Open ¶
Open unlocks given user's wallet and returns a token for subsequent use of wallet features.
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) ProfileExists ¶
ProfileExists checks if wallet profile exists for given wallet user.
func (*Command) ProposeCredential ¶ added in v0.1.8
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) Query ¶
Query runs credential queries against wallet credential contents and returns presentation containing credential results.
func (*Command) RequestCredential ¶ added in v0.1.8
RequestCredential sends request credential message from wallet to issuer and optionally waits for credential fulfillment. 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
func (*Command) ResolveCredentialManifest ¶ added in v0.1.8
ResolveCredentialManifest resolves given credential manifest by credential fulfillment or credential. Supports: https://identity.foundation/credential-manifest/
Writes list of resolved descriptors to writer or returns error if operation fails.
func (*Command) UpdateProfile ¶
UpdateProfile updates an existing wallet profile for given user.
type Config ¶
type Config struct { // EDV header signer, typically used for introducing zcapld feature. EdvAuthzProvider AuthCapabilityProvider // Web KMS header signer, typically used for introducing zcapld feature. WebKMSAuthzProvider AuthCapabilityProvider // option is a performance optimization that speeds up queries by getting full documents from // the EDV server instead of only document locations. EDVReturnFullDocumentsOnQuery bool // this EDV option is a performance optimization that allows for restStore.Batch to only require one REST call. EDVBatchEndpointExtensionEnabled bool // Aries Web KMS cache size configuration. WebKMSCacheSize int // Default token expiry for all wallet profiles created. // Will be used only if wallet unlock request doesn't supply default timeout value. DefaultTokenExpiry time.Duration }
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 { 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 ContentQueryRequest ¶
type ContentQueryRequest struct { WalletAuth // credential query(s) for querying wallet contents. Query []*wallet.QueryParams `json:"query"` }
ContentQueryRequest is request model for querying wallet contents.
type ContentQueryResponse ¶
type ContentQueryResponse struct { // response presentation(s) containing query results. Results []*verifiable.Presentation `json:"results"` }
ContentQueryResponse response for wallet content query.
type CreateKeyPairRequest ¶
type CreateKeyPairRequest struct { WalletAuth // type of the key to be created. KeyType kms.KeyType `json:"keyType,omitempty"` }
CreateKeyPairRequest is request model for creating key pair from wallet.
type CreateKeyPairResponse ¶
CreateKeyPairResponse is response model for creating key pair from wallet.
type CreateOrUpdateProfileRequest ¶
type CreateOrUpdateProfileRequest struct { // Unique identifier to identify wallet user UserID string `json:"userID"` // passphrase for local kms for key operations. // Optional, if this option is provided then wallet for this profile will use local KMS for key operations. LocalKMSPassphrase string `json:"localKMSPassphrase,omitempty"` // passphrase for web/remote kms for key operations. // Optional, if this option is provided then wallet for this profile will use web/remote KMS for key operations. KeyStoreURL string `json:"keyStoreURL,omitempty"` // edv configuration for storing wallet contents for this profile // Optional, if not provided then agent storage provider will be used as store provider. EDVConfiguration *EDVConfiguration `json:"edvConfiguration,omitempty"` }
CreateOrUpdateProfileRequest is request model for creating a new wallet profile or updating an existing wallet profile.
type DeriveRequest ¶
type DeriveRequest struct { WalletAuth // ID of the credential already saved in wallet content store. // optional, if provided then this option takes precedence. StoredCredentialID string `json:"storedCredentialID"` // List of raw credential to be presented. // optional, will be used only if other options is not provided. RawCredential json.RawMessage `json:"rawCredential"` // DeriveOptions options for deriving credential *wallet.DeriveOptions `json:"deriveOption"` }
DeriveRequest is request model for deriving a credential from wallet.
type DeriveResponse ¶
type DeriveResponse struct { // credential derived. Credential *verifiable.Credential `json:"credential"` }
DeriveResponse is response for derived credential operation.
type EDVConfiguration ¶
type EDVConfiguration struct { // EDV server URL for storing wallet contents. ServerURL string `json:"serverURL,omitempty"` // EDV vault ID for storing the wallet contents. VaultID string `json:"vaultID,omitempty"` // Encryption key ID of already existing key in wallet profile kms. // If profile is using localkms then wallet will create this key set for wallet user. EncryptionKeyID string `json:"encryptionKID,omitempty"` // MAC operation key ID of already existing key in wallet profile kms. // If profile is using localkms then wallet will create this key set for wallet user. MACKeyID string `json:"macKID,omitempty"` }
EDVConfiguration contains configuration for EDV settings for profile creation.
type GetAllContentRequest ¶
type GetAllContentRequest struct { WalletAuth // type of the contents to be returned from wallet. // supported types: collection, credential, didResolutionResponse, metadata, connection ContentType wallet.ContentType `json:"contentType"` // ID of the collection on which the response contents to be filtered. CollectionID string `json:"collectionID,omitempty"` }
GetAllContentRequest is request for getting all contents from wallet for given content type.
type GetAllContentResponse ¶
type GetAllContentResponse struct { // contents retrieved from wallet content store. // map of content ID to content. Contents map[string]json.RawMessage `json:"contents"` }
GetAllContentResponse response for get all content by content type wallet operation.
type GetContentRequest ¶
type GetContentRequest struct { WalletAuth // type of the content to be returned from wallet. // supported types: collection, credential, didResolutionResponse, metadata, connection ContentType wallet.ContentType `json:"contentType"` // ID of the content to be returned from wallet ContentID string `json:"contentID"` }
GetContentRequest is request for getting a content from wallet.
type GetContentResponse ¶
type GetContentResponse struct { // content retrieved from wallet content store. Content json.RawMessage `json:"content"` }
GetContentResponse response for get content from wallet operation.
type HTTPHeaderSigner ¶
type HTTPHeaderSigner interface { // SignHeader header with capability. SignHeader(req *http.Request, capabilityBytes []byte) (*http.Header, error) }
HTTPHeaderSigner is for http header signing, typically used for zcapld functionality.
type IssueRequest ¶
type IssueRequest struct { WalletAuth // raw credential to be issued from wallet. Credential json.RawMessage `json:"credential"` // proof options for issuing credential ProofOptions *wallet.ProofOptions `json:"proofOptions"` }
IssueRequest is request model for issuing credential from wallet.
type IssueResponse ¶
type IssueResponse struct { // credential issued. Credential *verifiable.Credential `json:"credential"` }
IssueResponse is response for issue credential interface from wallet.
type LockWalletRequest ¶
type LockWalletRequest struct { // user ID of the wallet to be locked. UserID string `json:"userID"` }
LockWalletRequest contains options for locking wallet.
type LockWalletResponse ¶
type LockWalletResponse struct { // Closed status of the wallet lock operation. // if true, wallet is closed successfully // if false, wallet is already closed or never unlocked. Closed bool `json:"closed"` }
LockWalletResponse contains response for wallet lock operation.
type PresentProofRequest ¶
type PresentProofRequest struct { 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 ¶ added in v0.1.8
type PresentProofResponse struct {
wallet.CredentialInteractionStatus
}
PresentProofResponse is response model from wallet present proof operation.
type ProposeCredentialRequest ¶ added in v0.1.8
type ProposeCredentialRequest struct { 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 ¶ added in v0.1.8
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 { 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 ProveRequest ¶
type ProveRequest struct { WalletAuth // IDs of credentials already saved in wallet content store. StoredCredentials []string `json:"storedCredentials"` // List of raw credentials to be presented. RawCredentials []json.RawMessage `json:"rawCredentials"` // Presentation to be proved. Presentation json.RawMessage `json:"presentation"` // proof options for issuing credential. ProofOptions *wallet.ProofOptions `json:"proofOptions"` }
ProveRequest for producing verifiable presentation from wallet. Contains options for proofs and credential. Any combination of credential option can be mixed.
type ProveResponse ¶
type ProveResponse struct { // presentation response from prove operation. Presentation *verifiable.Presentation `json:"presentation"` }
ProveResponse contains response presentation from prove operation.
type RemoveContentRequest ¶
type RemoveContentRequest struct { WalletAuth // type of the content to be removed from the wallet. // supported types: collection, credential, didResolutionResponse, metadata, connection ContentType wallet.ContentType `json:"contentType"` // ID of the content to be removed from wallet ContentID string `json:"contentID"` }
RemoveContentRequest is request for removing a content from wallet.
type RequestCredentialRequest ¶ added in v0.1.8
type RequestCredentialRequest struct { 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 fulfillment response from issuer for given Timeout. // Also, will return web redirect info if found in fulfillment message or problem-report. WaitForDone bool `json:"waitForDone,omitempty"` // Optional timeout (in milliseconds) waiting for credential fulfillment 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 ¶ added in v0.1.8
type RequestCredentialResponse struct {
wallet.CredentialInteractionStatus
}
RequestCredentialResponse is response model from wallet request credential operation.
type ResolveCredentialManifestRequest ¶ added in v0.1.8
type ResolveCredentialManifestRequest struct { WalletAuth // Credential Manifest on which given credential fulfillment or credential needs to be resolved. Manifest json.RawMessage `json:"manifest,omitempty"` // Fulfillment to be be resolved. // If provided, then this option takes precedence over credential resolve option. Fulfillment json.RawMessage `json:"fulfillment,omitempty"` // Credential to be be resolved, to be provided along with 'DescriptorID' to be used for resolving. Credential json.RawMessage `json:"credential,omitempty"` // ID of the Credential from wallet content to be be resolved, to be provided along with 'DescriptorID'. CredentialID string `json:"credentialID,omitempty"` // ID of the output descriptor to be used for resolving given credential. DescriptorID string `json:"descriptorID,omitempty"` }
ResolveCredentialManifestRequest is request model for resolving credential manifest from wallet.
type ResolveCredentialManifestResponse ¶ added in v0.1.8
type ResolveCredentialManifestResponse struct { // List of Resolved Descriptor results. Resolved []*cm.ResolvedDescriptor `json:"resolved,omitempty"` }
ResolveCredentialManifestResponse is response model from wallet credential manifest resolve operation.
type UnlockAuth ¶
type UnlockAuth struct { // Http header 'authorization' bearer token to be used. // Optional, only if required by wallet user (for webkms or edv). AuthToken string `json:"authToken,omitempty"` // Capability if ZCAP sign header feature to be used for authorizing access. // Optional, can be used only if ZCAP sign header feature is configured with command controller. Capability string `json:"capability,omitempty"` // AuthZKeyStoreURL if ZCAP sign header feature to be used for authorizing access. // Optional, can be used only if ZCAP sign header feature is configured with command controller. AuthZKeyStoreURL string `json:"authzKeyStoreURL,omitempty"` // Optional, can be used only if ZCAP sign header feature is configured with command controller. SecretShare string `json:"secretShare,omitempty"` }
UnlockAuth contains different options for authorizing access to wallet's EDV content store & webkms.
type UnlockWalletRequest ¶
type UnlockWalletRequest struct { // user ID of the wallet to be unlocked. UserID string `json:"userID"` // passphrase for local kms for key operations. // Optional, to be used if profile for this wallet user is setup with local KMS. LocalKMSPassphrase string `json:"localKMSPassphrase,omitempty"` // WebKMSAuth for authorizing acccess to web/remote kms. // Optional, to be used if profile for this wallet user is setup with web/remote KMS. WebKMSAuth *UnlockAuth `json:"webKMSAuth"` // Options for authorizing access to wallet's EDV content store. // Optional, to be used only if profile for this wallet user is setup to use EDV as content store. EDVUnlock *UnlockAuth `json:"edvUnlocks"` // Time duration in milliseconds after which wallet will expire its unlock status. Expiry time.Duration `json:"expiry,omitempty"` }
UnlockWalletRequest contains different options for unlocking wallet.
type UnlockWalletResponse ¶
type UnlockWalletResponse struct { // Token for granting access to wallet for subsequent wallet operations. Token string `json:"token,omitempty"` }
UnlockWalletResponse contains response for wallet unlock operation.
type VerifyRequest ¶
type VerifyRequest struct { WalletAuth // ID of the credential already saved in wallet content store. // optional, if provided then this option takes precedence over other options. StoredCredentialID string `json:"storedCredentialID"` // List of raw credential to be presented. // optional, if provided then this option takes precedence over presentation options. RawCredential json.RawMessage `json:"rawCredential"` // Presentation to be proved. // optional, will be used only if other options are not provided. Presentation json.RawMessage `json:"presentation"` }
VerifyRequest request for verifying a credential or presentation from wallet. Any one of the credential option should be used.
type VerifyResponse ¶
type VerifyResponse struct { // if true then verification is successful. Verified bool `json:"verified"` // error details if verified is false. Error string `json:"error,omitempty"` }
VerifyResponse is response model for wallet verify operation.
type WalletAuth ¶
type WalletAuth struct { // Authorization token for performing wallet operations. Auth string `json:"auth"` // ID of wallet user. UserID string `json:"userID"` }
WalletAuth contains wallet auth parameters for performing wallet operations.
type WalletUser ¶
type WalletUser struct { // ID of wallet user. ID string `json:"userID"` }
WalletUser contains wallet user info for performing profile operations.