module Secmod_signkey = struct type t = { secmod_public_key: Signkey.t; signkeys: Signkey.t list; } end module Secmod_denom = struct type t = { secmod_signkey: Signkey.t; denom_keys: Denomination.t list; } end let signkey = Signkey.make ~name:"signkey" let online_key = Signkey.make ~name:"online_key" let denom_key = Signkey.make ~name:"denom_key" let denominations = let finally _key = () in Vif.Device.v ~name:"denominations" ~finally [] @@ fun () -> let rsa_l = List.map Denomination.make Config.coins in rsa_l let l = Vif.Devices.[ signkey; online_key; denom_key; denominations ]