add devices.ml; denom.ml
This commit is contained in:
parent
4611c1e057
commit
85ddb8194f
5 changed files with 22 additions and 29 deletions
|
|
@ -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
|
||||
11
src/devices.ml
Normal file
11
src/devices.ml
Normal file
|
|
@ -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 ]
|
||||
|
|
@ -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.
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue