diff --git a/src/devices.ml b/src/devices.ml new file mode 100644 index 00000000..ac8339e2 --- /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 denom = + let finally _key = () in + Vif.Device.v ~name:"denom" ~finally [] @@ fun () -> + let rsa_l = List.map Secmod_denom.make Config.coins in + rsa_l + +let v = Vif.Devices.[ signkey; exchange_key; denom_key; denom ] diff --git a/src/management.ml b/src/management.ml index 9ecb1b34..0d4b87e9 100644 --- a/src/management.ml +++ b/src/management.ml @@ -23,7 +23,7 @@ let mk_future_denom denom_secmod_sign_f pub; sign= _; } : - Secmod_denom.rsa_denom) = + Secmod_denom.t) = let denom_pub = DenominationKey.Rsa RsaDenominationKey.{ age_mask= 0; rsa_pub= pub } in 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_denom.ml b/src/secmod_denom.ml index c4dfae40..99ca9002 100644 --- a/src/secmod_denom.ml +++ b/src/secmod_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/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"