From 85ddb8194fc6652b4fd123a65220eaf3550b3c25 Mon Sep 17 00:00:00 2001 From: swrup Date: Sat, 18 Oct 2025 18:09:04 +0200 Subject: [PATCH] add devices.ml; denom.ml --- src/{secmod_denom.ml => denom.ml} | 14 +++++--------- src/devices.ml | 11 +++++++++++ src/management.ml | 10 +++++----- src/mte.ml | 9 +-------- src/secmod_keys.ml | 7 ------- 5 files changed, 22 insertions(+), 29 deletions(-) rename src/{secmod_denom.ml => denom.ml} (83%) create mode 100644 src/devices.ml diff --git a/src/secmod_denom.ml b/src/denom.ml similarity index 83% rename from src/secmod_denom.ml rename to src/denom.ml index c4dfae40..99ca9002 100644 --- a/src/secmod_denom.ml +++ b/src/denom.ml @@ -1,6 +1,6 @@ open Types -type rsa_denom = { +type t = { section_name: string; value: Amount.t; stamp_start: Ptime.t; @@ -15,9 +15,11 @@ type rsa_denom = { sign: string -> RsaSignature.t; } -let hash_pub _pub = "todo public key converted to Crockford Base32" +let hash_pub _pub = + (* todo public key converted to Crockford Base32 *) + assert false -let make_rsa_denom +let make ({ section_name; value; @@ -62,9 +64,3 @@ let make_rsa_denom pub; sign; } - -let denom_device = - let finally _key = () in - Vif.Device.v ~name:"rsa_denom" ~finally [] @@ fun () -> - let rsa_l = List.map make_rsa_denom Config.coins in - rsa_l diff --git a/src/devices.ml b/src/devices.ml new file mode 100644 index 00000000..85cb8afb --- /dev/null +++ b/src/devices.ml @@ -0,0 +1,11 @@ +let signkey = Secmod_keys.make ~name:"signkey" +let exchange_key = Secmod_keys.make ~name:"exchange_key" +let denom_key = Secmod_keys.make ~name:"denom_key" + +let denominations = + let finally _key = () in + Vif.Device.v ~name:"denom" ~finally [] @@ fun () -> + let rsa_l = List.map Denom.make Config.coins in + rsa_l + +let v = Vif.Devices.[ signkey; exchange_key; denom_key; denominations ] diff --git a/src/management.ml b/src/management.ml index 9ecb1b34..2f34a260 100644 --- a/src/management.ml +++ b/src/management.ml @@ -8,7 +8,7 @@ open Api_types is it hash'ed then base32'ed in xxxP? ... *) -let mk_future_denom denom_secmod_sign_f +let mk_future_denom denom_key_signf ({ section_name; value; @@ -23,7 +23,7 @@ let mk_future_denom denom_secmod_sign_f pub; sign= _; } : - Secmod_denom.rsa_denom) = + Denom.t) = let denom_pub = DenominationKey.Rsa RsaDenominationKey.{ age_mask= 0; rsa_pub= pub } in @@ -46,7 +46,7 @@ let mk_future_denom denom_secmod_sign_f DenominationKeyAnnouncementPS. { h_denom_pub; h_section_name; anchor_time; duration_withdraw } in - ps |> Bin.to_string DenominationKeyAnnouncementPS.bin |> denom_secmod_sign_f + ps |> Bin.to_string DenominationKeyAnnouncementPS.bin |> denom_key_signf in FutureDenom. { @@ -64,7 +64,7 @@ let mk_future_denom denom_secmod_sign_f denom_secmod_sig; } -let mk_future_sign_key signkey_secmod_sign_f +let mk_future_sign_key signkey_signf ({ pub; sign= _; stamp_start; stamp_expire; stamp_end } : Secmod_keys.t) = let signkey_secmod_sig = let open Binary_formats in @@ -81,7 +81,7 @@ let mk_future_sign_key signkey_secmod_sign_f TimeRelativeNBO.{ v } in let ps = SigningKeyAnnouncementPS.{ exchange_pub; anchor_time; duration } in - ps |> Bin.to_string SigningKeyAnnouncementPS.bin |> signkey_secmod_sign_f + ps |> Bin.to_string SigningKeyAnnouncementPS.bin |> signkey_signf in FutureSignKey. { diff --git a/src/mte.ml b/src/mte.ml index 596d759a..56974867 100644 --- a/src/mte.ml +++ b/src/mte.ml @@ -123,12 +123,5 @@ let () = in Miou_unix.run @@ fun () -> let env = () in - let devices = - Vif.Devices. - [ - Secmod_keys.signkey_device; Secmod_keys.denom_device; - Secmod_denom.denom_device; - ] - in let middlewares = Vif.Middlewares.[] in - Vif.run ~cfg ~devices ~middlewares routes env + Vif.run ~cfg ~devices:Devices.v ~middlewares routes env diff --git a/src/secmod_keys.ml b/src/secmod_keys.ml index 5e444231..41b890e6 100644 --- a/src/secmod_keys.ml +++ b/src/secmod_keys.ml @@ -28,10 +28,3 @@ let make ~name = let priv, pub = Mirage_crypto_ec.Ed25519.generate () in let sign s = EddsaSignature.sign ~key:priv s in { stamp_start; stamp_expire; stamp_end; pub; sign } - -let signkey_device = make ~name:"signkey" - -(* the actual exchange's signing key - signed by the secmod signkey *) -let exchange_device = make ~name:"exchange" -let denom_device = make ~name:"denom"