Juvix imports
module arch.node.engines.signs_for_messages;
import prelude open;
import arch.node.types.identities open;
Signs For Messages¶
Message interface¶
MsgSignsForRequest RequestSignsFor
¶
type RequestSignsFor :=
mkRequestSignsFor@{
externalIdentityA : ExternalIdentity;
externalIdentityB : ExternalIdentity;
};
A RequestSignsFor
queries whether externalIdentityA
can sign on behalf of externalIdentityB
.
Arguments
externalIdentityA
:- The identity attempting to sign.
externalIdentityB
:- The identity on whose behalf the signature is made.
MsgSignsForResponse ResponseSignsFor
¶
type ResponseSignsFor :=
mkResponseSignsFor@{
signsFor : Bool;
err : Option String;
};
A ResponseSignsFor
indicates whether the signs_for
relationship exists.
Arguments
signsFor
:- True if externalIdentityA can sign for externalIdentityB, False otherwise.
err
:- An error message if the query failed.
MsgSubmitSignsForEvidenceRequest RequestSubmitSignsForEvidence
¶
type RequestSubmitSignsForEvidence :=
mkRequestSubmitSignsForEvidence@{evidence : SignsForEvidence};
A RequestSubmitSignsForEvidence
submits evidence of a signs_for
relationship.
Arguments
evidence
:- The evidence supporting the
signs_for
relationship.
MsgSubmitSignsForEvidenceResponse ResponseSubmitSignsForEvidence
¶
type ResponseSubmitSignsForEvidence :=
mkResponseSubmitSignsForEvidence@{err : Option String};
A ResponseSubmitSignsForEvidence
acknowledges the submission of evidence.
Arguments
err
:- An error message if the submission failed.
MsgQuerySignsForEvidenceRequest RequestQuerySignsForEvidence
¶
type RequestQuerySignsForEvidence :=
mkRequestQuerySignsForEvidence@{externalIdentity : ExternalIdentity};
A RequestQuerySignsForEvidence
queries all signs_for
evidence related to an identity.
Arguments
externalIdentity
:- The identity for which to retrieve evidence.
MsgQuerySignsForEvidenceResponse ResponseQuerySignsForEvidence
¶
type ResponseQuerySignsForEvidence :=
mkResponseQuerySignsForEvidence@{
externalIdentity : ExternalIdentity;
evidence : Set SignsForEvidence;
err : Option String;
};
A ResponseQuerySignsForEvidence
provides the requested evidence.
Arguments
evidence
:- A set of SignsForEvidence related to the identity.
err
:- An error message if the query failed.
SignsForMsg
¶
type SignsForMsg :=
| MsgSignsForRequest RequestSignsFor
| MsgSignsForResponse ResponseSignsFor
| MsgSubmitSignsForEvidenceRequest RequestSubmitSignsForEvidence
| MsgSubmitSignsForEvidenceResponse ResponseSubmitSignsForEvidence
| MsgQuerySignsForEvidenceRequest RequestQuerySignsForEvidence
| MsgQuerySignsForEvidenceResponse ResponseQuerySignsForEvidence;
Message sequence diagrams¶
Submitting Signs For Evidence¶
Querying Signs For Relationship¶
Retrieving Signs For Evidence¶
Engine Components¶
- Signs For Environment
- Signs For Behaviour