module arch.node.engines.identity_management_messages; import prelude open; import arch.node.types.identities open; type RequestGenerateIdentity := mkRequestGenerateIdentity@{ backend : Backend; params : IDParams; capabilities : Capabilities; }; type ReplyGenerateIdentity := mkReplyGenerateIdentity@{ commitmentEngine : Option EngineID; decryptionEngine : Option EngineID; externalIdentity : EngineID; err : Option String; }; type RequestConnectIdentity := mkRequestConnectIdentity@{ externalIdentity : EngineID; backend : Backend; capabilities : Capabilities; }; type ReplyConnectIdentity := mkConnectIdentityReply@{ commitmentEngine : Option EngineID; decryptionEngine : Option EngineID; err : Option String; }; type RequestDeleteIdentity := mkRequestDeleteIdentity@{ externalIdentity : EngineID; backend : Backend; }; type ReplyDeleteIdentity := mkReplyDeleteIdentity@{ err : Option String; }; type IdentityManagementMsg := | MsgIdentityManagementGenerateIdentityRequest RequestGenerateIdentity | MsgIdentityManagementGenerateIdentityReply ReplyGenerateIdentity | MsgIdentityManagementConnectIdentityRequest RequestConnectIdentity | MsgIdentityManagementConnectIdentityReply ReplyConnectIdentity | MsgIdentityManagementDeleteIdentityRequest RequestDeleteIdentity | MsgIdentityManagementDeleteIdentityReply ReplyDeleteIdentity;