Juvix imports
module arch.node.engines.verification_messages;
import prelude open;
import arch.node.types.identities open;
Verification Messages¶
Message interface¶
type VerificationMsg :=
| MsgVerificationRequest RequestVerification
| MsgVerificationResponse ResponseVerification;
Message sequence diagrams¶
Verification sequence (without signs_for
evidence)¶
Verification sequence (with signs_for
evidence)¶
Message types¶
RequestVerification
¶
type RequestVerification :=
mkRequestVerification@{
data : Signable;
commitment : Commitment;
externalIdentity : ExternalIdentity;
useSignsFor : Bool;
};
A RequestVerification
instructs the Verification Engine to verify a commitment
(signature) from a particular external identity, possibly using known
signs_for
relationships.
Arguments
data
:- The data that was signed.
commitment
:- The commitment (signature) to verify.
externalIdentity
:- The external identity that supposedly made the commitment.
useSignsFor
:- Whether or not to use known
signs_for
relationships.
ResponseVerification
¶
type ResponseVerification :=
mkResponseVerification@{
result : Bool;
err : Option String;
};
A ResponseVerification
contains the result of verifying a commitment in
response to a RequestVerification
.
Arguments
result
:- True if the verification succeeded, False otherwise.
err
:- An error message if verification failed.
VerificationMsg
¶
type VerificationMsg :=
| MsgVerificationRequest RequestVerification
| MsgVerificationResponse ResponseVerification;