module arch.node.engines.decryption_config;

import prelude open;
import arch.node.engines.decryption_messages open;
import arch.node.types.engine open;
import arch.node.types.messages open;
import arch.system.identity.identity open using {Decryptor; mkDecryptor};
import arch.node.types.identities open;

type DecryptionCfg :=
  mkDecryptionCfg@{
    decryptor : Decryptor Backend Plaintext Ciphertext;
    backend : Backend;
  };

module decryption_config_example;
  
  decryptionCfg : EngineCfg DecryptionCfg :=
    mkEngineCfg@{
      node := Curve25519PubKey "0xabcd1234";
      name := "decryption";
      cfg :=
        mkDecryptionCfg@{
          decryptor :=
            mkDecryptor@{
              decrypt := \{_ x := some x};
            };
          backend := BackendLocalMemory;
        };
    };
end;