module arch.node.types.crypto;

import prelude open;

type PublicKey := | Curve25519PubKey ByteString;

instance
PublicKeyOrd : Ord PublicKey :=
  mkOrd@{
    cmp := \{_ _ := Equal};
  };

type PrivateKey := | Curve25519PrivKey ByteString;

instance
PrivateKeyOrd : Ord PrivateKey :=
  mkOrd@{
    cmp := \{_ _ := Equal};
  };

type SecretKey := | ChaCha20Key;

type Signature := | Ed25519Signature ByteString;

type Digest := | Blake3Digest ByteString;