modules/verifiable-credentials.VerifiableCredentialsServiceBase
Service responsible for managing verifiable credentials and presentations. You can read more about verifiable credentials data model here.
const { verifiableCredentialsService } = await initWithPrivateKeySigner(privateKey, rpcUrl);
verifiableCredentialsService.createRoleVC(...);
- continueExchange
- createCredential
- createPresentation
- createRoleVC
- createVerifiablePresentation
- getCredentialsByDefinition
- initiateExchange
- isRevoked
- revocationDetails
- revokeCredential
- verify
- create
• new VerifiableCredentialsServiceBase(_signerService
, _cacheClient
)
Name | Type |
---|---|
_signerService |
SignerService |
_cacheClient |
CacheClient |
▸ continueExchange(__namedParameters
): Promise
<undefined
| VerifiablePresentation
| VpRequest
>
Description
Sends credentials requested by issuer and returns either issued credentials or next credentials request
Name | Type |
---|---|
__namedParameters |
ContinueExchangeCredentials <RoleCredentialSubject > |
Promise
<undefined
| VerifiablePresentation
| VpRequest
>
issued credentials or request of additional credentials
▸ createCredential(params
): Credential
<RoleCredentialSubject
>
Create a credential with given parameters.
await verifiableCredentialsService.createCredential({
id: 'did:ethr:ewc:0x...00',
namespace: 'root.energyweb.iam.ewc',
version: '1',
issuerFields: [],
expirationDate: new Date(),
});
Name | Type | Description |
---|---|---|
params |
RoleCredentialSubjectParams |
verifiable credential parameters |
Credential
<RoleCredentialSubject
>
Energy Web credential
▸ createPresentation(verifiableCredential
, options?
): Presentation
Create a presentation with given verifiable credentials. Allow create presentation for a given presentation definition.
verifiableCredentialsService.createPresentation([...credentials]);
Name | Type | Description |
---|---|---|
verifiableCredential |
VerifiableCredential <RoleCredentialSubject >[] |
role credential parameters |
options? |
CreatePresentationParams |
presentation options |
Presentation
presentation
▸ createRoleVC(credentialParams
, proofOptions?
): Promise
<VerifiableCredential
<RoleCredentialSubject
>>
Name | Type |
---|---|
credentialParams |
RoleCredentialSubjectParams |
proofOptions? |
ProofOptions |
Promise
<VerifiableCredential
<RoleCredentialSubject
>>
▸ createVerifiablePresentation(verifiableCredential
, options?
): Promise
<VerifiablePresentation
>
Create a verifiable presentation with given verifiable credentials and EIP712 signature.
verifiableCredentialsService.createVerifiablePresentation([...credentials]);
Name | Type | Description |
---|---|---|
verifiableCredential |
VerifiableCredential <RoleCredentialSubject >[] |
role credential parameters |
options? |
ProofOptions |
proof options |
Promise
<VerifiablePresentation
>
verifiable presentation
▸ getCredentialsByDefinition(presentationDefinition
): Promise
<SelectResults
>
Returns issued role verifiable credentials which matches definition.
await verifiableCredentialsService.getCredentialsByDefinition(presentationDefinition);
Name | Type | Description |
---|---|---|
presentationDefinition |
IPresentationDefinition |
credential requirements |
Promise
<SelectResults
>
results of matching each role verifiable credential to definition
▸ initiateExchange(options
): Promise
<ContinueExchangeSelections
>
Initialize credential exchange. Only vc-api exchanges currently supported.
verifiableCredentialsService.initiateExchange({
type: VC_API_EXCHANGE,
url: 'http://localhost:3000',
});
Name | Type | Description |
---|---|---|
options |
ExchangeInvitation |
object with options |
Promise
<ContinueExchangeSelections
>
credentials query with matching verifiable presentations
▸ isRevoked(credential
): Promise
<boolean
>
Check if given verifiable credential is revoked.
await verifiableCredentialsService.isRevoked(credential);
Name | Type | Description |
---|---|---|
credential |
VerifiableCredential <RoleCredentialSubject > |
verifiable credential |
Promise
<boolean
>
true if credential is revoked
▸ revocationDetails(credential
): Promise
<null
| CredentialRevocationDetailsResult
>
Get the credentials revocation details.
await verifiableCredentialsService.revocationDetails(credential);
Name | Type | Description |
---|---|---|
credential |
VerifiableCredential <RoleCredentialSubject > |
verifiable credential |
Promise
<null
| CredentialRevocationDetailsResult
>
revoker and revocationTimeStamp for the revocation
▸ revokeCredential(credential
): Promise
<StatusList2021Credential
>
Revoke given verifiable credential with StatusList2021.
await verifiableCredentialsService.revokeCredential(credential);
Name | Type | Description |
---|---|---|
credential |
VerifiableCredential <RoleCredentialSubject > |
verifiable credential |
Promise
<StatusList2021Credential
>
StatusList2021Credential
▸ verify<T
>(vcOrVp
, options?
): Promise
<boolean
>
Verify a given credential or presentation. Throws an error if the credential or presentation proof is not valid.
await verifiableCredentialsService.verify(credential);
await verifiableCredentialsService.verify(presentation);
Name | Type |
---|---|
T |
extends ICredentialSubject |
Name | Type | Description |
---|---|---|
vcOrVp |
VerifiablePresentation | VerifiableCredential <T > |
- |
options? |
ProofOptions |
proof options |
Promise
<boolean
>
true if the proof is valid
▸ Static
create(signerService
, cacheClient
): Promise
<VerifiableCredentialsServiceBase
>
Name | Type |
---|---|
signerService |
SignerService |
cacheClient |
CacheClient |
Promise
<VerifiableCredentialsServiceBase
>