From d866eec546e4ee71fb420c0f44b5be4935c87faf Mon Sep 17 00:00:00 2001 From: swrup Date: Sat, 21 Feb 2026 22:47:30 +0100 Subject: [PATCH] --- src/keys.ml | 2 -- src/keys.mli | 28 ++++++++++++++++++++++++++-- src/mod_intf.mli | 4 ++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/keys.ml b/src/keys.ml index 0c7113e6..51537f21 100644 --- a/src/keys.ml +++ b/src/keys.ml @@ -4,8 +4,6 @@ open Crypto (* TODO better error type *) type 'a result = ('a, string) Result.t -module type S = Mod_intf.KEYS - module Make (Conn : Pg.CONN) = struct module Sm_eddsa = Secmod_eddsa.Make () module Sm_rsa = Secmod_rsa.Make () diff --git a/src/keys.mli b/src/keys.mli index abf3e388..9fdcc654 100644 --- a/src/keys.mli +++ b/src/keys.mli @@ -1,3 +1,27 @@ -module type S = Mod_intf.KEYS +open Crypto -module Make (_ : Pg.CONN) : S +type 'a result = ('a, string) Result.t + +module Make (_ : Pg.CONN) : sig + val sign : eddsa_pub -> string -> eddsa_sig + val sign_denom : rsa_pub -> string -> rsa_sig + val find_signkey : eddsa_pub -> Signkey.t option result + val find_denomination : denom_hash -> Denomination.t option result + val signkeys : unit -> Signkey.t list result + val denominations : unit -> Denomination.t list result + val future_signkeys : unit -> Api.FutureSignKey.t list result + val future_denominations : unit -> Api.FutureDenom.t list result + val make_future_keys_response : unit -> Api.FutureKeysResponse.t result + + val certify_future_signkey : + eddsa_pub -> Signatures.ExchangeSigningKeyValidity.t -> unit result + + val certify_future_denomination : + denom_hash -> Signatures.DenominationKeyValidity.t -> unit result + + val revoke_signkey : + eddsa_pub -> Signatures.MasterSigningKeyRevocation.t -> unit result + + val revoke_denomination : + denom_hash -> Signatures.MasterDenominationKeyRevocation.t -> unit result +end diff --git a/src/mod_intf.mli b/src/mod_intf.mli index 1bea500c..c4e22e4d 100644 --- a/src/mod_intf.mli +++ b/src/mod_intf.mli @@ -1,8 +1,8 @@ open Crypto -type 'a result = ('a, string) Result.t - module type KEYS = sig + type 'a result = ('a, string) Result.t + val sign : eddsa_pub -> string -> eddsa_sig val sign_denom : rsa_pub -> string -> rsa_sig val find_signkey : eddsa_pub -> Signkey.t option result