#[non_exhaustive]pub enum DTGCredentialType {
Membership,
Relationship,
Invitation,
Persona,
Statement,
Authority,
Delegation,
}Expand description
DTG VC Type Identifiers — the concrete DTGCredential subtypes the v1 context defines.
PartialEq is derived so that a consumer can assert by equality
(assert_eq!(cred.credential_type(), &DTGCredentialType::Delegation)) rather than by
pattern (matches!), which reports the actual variant on failure.
§What is no longer here
EndorsementCredential and WitnessCredential are not DTG types: DTG Core Credentials
replaced them with the DTGCredentialType::Statement type under the ENDORSES_V1 and
WITNESSED_V1 predicate profiles, and a VSC carries its meaning in predicate alone so
that a type string and a predicate can never disagree. RCardCredential is not a DTG
credential at all — the r-card is a verifiable data structure. A credential naming any
of the three is refused at parse with DTGCredentialError::InvalidType.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Membership
Verifiable Membership Credential (VMC) — one half of a membership edge.
Relationship
Verifiable Relationship Credential (VRC) — one half of a relationship edge.
Invitation
Verifiable Invitation Credential (VIC).
Persona
Verifiable Persona Credential (VPC).
Statement
Verifiable Statement Credential (VSC) — a signed statement by one node about
another, whose meaning is fixed by its predicate.
The VEC and the VWC are VSCs under the ENDORSES_V1 and WITNESSED_V1 profiles.
Authority
Verifiable Authority Credential (VAC) — confers authority on a party to perform specified actions within a named scope governed by the issuer.
Key control at invocation — a VAC is not a bearer credential — and the
maxAttenuation ceiling are implemented in crate::authority::verify_chain.
Revocation via credentialStatus is a live lookup the caller performs.
Delegation
Verifiable Delegation Credential (VDC) — establishes that one entity may act in another’s name.