module arch.node.engines.decryption_environment;

import prelude open;
import arch.node.engines.decryption_messages open;
import arch.node.types.engine_environment open;
import arch.node.types.identities open;
import arch.node.types.messages open;
import arch.node.types.anoma_message as Anoma open;
import arch.system.identity.identity open;

syntax alias DecryptionMailboxState := Unit;
syntax alias DecryptionLocalState := Unit;
syntax alias DecryptionTimerHandle := Unit;

DecryptionEnv : Type :=
  EngineEnv
    DecryptionLocalState
    DecryptionMailboxState
    DecryptionTimerHandle
    Anoma.Msg;

module decryption_environment_example;
  
  decryptionEnv : DecryptionEnv :=
    mkEngineEnv@{
      localState := unit;
      mailboxCluster := Map.empty;
      acquaintances := Set.empty;
      timers := [];
    };
end;