ockam_entity 0.35.0

Ockam is a library for building devices that communicate securely, privately and trustfully with cloud services and other devices.
Documentation
use crate::{
    Credential, CredentialAttribute, CredentialFragment2, CredentialOffer, CredentialPresentation,
    CredentialRequest, ProofRequestId,
};
use ockam_core::compat::{string::String, vec::Vec};
use ockam_core::Message;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
pub enum CredentialProtocolMessage {
    IssueOfferRequest(String),
    IssueOffer(CredentialOffer),
    IssueRequest(CredentialRequest, Vec<CredentialAttribute>),
    IssueResponse(CredentialFragment2),
    PresentationOffer,
    PresentationRequest(ProofRequestId),
    PresentationResponse(CredentialPresentation),
}

#[derive(Serialize, Deserialize)]
pub(crate) struct PresentationFinishedMessage;

#[derive(Serialize, Deserialize)]
pub(crate) struct CredentialAcquisitionResultMessage {
    pub(crate) credential: Credential,
}

#[derive(Serialize, Deserialize)]
pub(crate) struct CredentialVerificationResultMessage {
    pub(crate) is_valid: bool,
}

impl Message for CredentialProtocolMessage {}

impl Message for PresentationFinishedMessage {}

impl Message for CredentialAcquisitionResultMessage {}

impl Message for CredentialVerificationResultMessage {}