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 := mkReplyConnectIdentity@{ commitmentEngine : Option EngineID; decryptionEngine : Option EngineID; err : Option String; }; type RequestDeleteIdentity := mkRequestDeleteIdentity@{ externalIdentity : EngineID; backend : Backend; }; type ReplyDeleteIdentity := mkReplyDeleteIdentity@{ err : Option String; }; type IdentityManagementMsg := | GenerateIdentityRequest RequestGenerateIdentity | GenerateIdentityReply ReplyGenerateIdentity | ConnectIdentityRequest RequestConnectIdentity | ConnectIdentityReply ReplyConnectIdentity | DeleteIdentityRequest RequestDeleteIdentity | DeleteIdentityReply ReplyDeleteIdentity;