Juvix imports
module arch.node.engines.verification_messages;
import prelude open;
import arch.node.types.identities open;
Verification Messages¶
Message interface¶
MsgVerificationRequest 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.
MsgVerificationResponse 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;
Message sequence diagrams¶
Verification Sequence (Without SignsFor evidence)¶
Verification Sequence (With SignsFor evidence)¶
Engine Components¶
- Verification Environment
- Verification Behaviour