Juvix imports
module arch.node.engines.identity_management_messages;
import prelude open;
import arch.node.types.identities open;
Identity Management Messages¶
Message interface¶
MsgIdentityManagementGenerateIdentityRequest RequestGenerateIdentity
¶
type RequestGenerateIdentity :=
mkRequestGenerateIdentity@{
backend : Backend;
params : IDParams;
capabilities : Capabilities;
};
A RequestGenerateIdentity
instructs the Identity Management Engine to generate a new identity using the specified backend, parameters, and capabilities.
Arguments
backend
:- The backend to use for identity generation.
params
:- Parameters to pass to the backend.
capabilities
:- Capabilities to request (e.g., commitment, decryption, or both).
MsgIdentityManagementResponse ResponseGenerateIdentity
¶
type ResponseGenerateIdentity :=
mkResponseGenerateIdentity@{
commitmentEngine : Option EngineID;
decryptionEngine : Option EngineID;
externalIdentity : EngineID;
err : Option String;
};
A ResponseGenerateIdentity
provides the handles to the decryption and commitment engine instances for the newly generated identity, or an error if a failure occurred.
Arguments
commitmentEngine
:- Reference to the newly instantiated commitment engine.
decryptionEngine
:- Reference to the newly instantiated decryption engine.
externalIdentity
:- The external identity of the newly created identity.
err
:- An error message if identity generation failed.
MsgIdentityManagementConnectIdentityRequest RequestConnectIdentity
¶
type RequestConnectIdentity :=
mkRequestConnectIdentity@{
externalIdentity : EngineID;
backend : Backend;
capabilities : Capabilities;
};
A RequestConnectIdentity
instructs the Identity Management Engine to connect to an existing identity using the specified backend.
Arguments
externalIdentity
:- The external identity to connect.
backend
:- The backend to use for the connection.
capabilities
:- Capabilities to request (e.g., commitment, decryption, or both).
MsgIdentityManagementConnectIdentityResponse ResponseConnectIdentity
¶
type ResponseConnectIdentity :=
mkConnectIdentityResponse@{
commitmentEngine : Option EngineID;
decryptionEngine : Option EngineID;
err : Option String;
};
A ResponseConnectIdentity
provides the handles to the decryption and commitment engine instances for the connected identity, or an error if a failure occurred.
Arguments
commitmentEngine
:- Reference to the newly connected commitment engine.
decryptionEngine
:- Reference to the newly connected decryption engine.
err
:- An error message if identity connection failed.
MsgIdentityManagementDeleteIdentityRequest RequestDeleteIdentity
¶
type RequestDeleteIdentity :=
mkRequestDeleteIdentity@{
externalIdentity : EngineID;
backend : Backend;
};
A RequestDeleteIdentity
instructs the Identity Management Engine to delete an existing identity using the specified backend.
Arguments
externalIdentity
:- The external identity to delete.
backend
:- The backend to use for deletion.
MsgIdentityManagementDeleteIdentityResponse ResponseDeleteIdentity
¶
type ResponseDeleteIdentity := mkResponseDeleteIdentity@{err : Option String};
A ResponseDeleteIdentity
provides the response from an attempt to delete an identity.
Arguments
err
:- An error message if identity deletion failed.
IdentityManagementMsg
¶
type IdentityManagementMsg :=
| MsgIdentityManagementGenerateIdentityRequest RequestGenerateIdentity
| MsgIdentityManagementGenerateIdentityResponse ResponseGenerateIdentity
| MsgIdentityManagementConnectIdentityRequest RequestConnectIdentity
| MsgIdentityManagementConnectIdentityResponse ResponseConnectIdentity
| MsgIdentityManagementDeleteIdentityRequest RequestDeleteIdentity
| MsgIdentityManagementDeleteIdentityResponse ResponseDeleteIdentity;
Message sequence diagrams¶
Generating an Identity¶
Connecting to an Existing Identity¶
Deleting an Identity¶
Engine Components¶
- Identity Management Environment
- Identity Management Behaviour