This commit is contained in:
swrup 2025-12-07 05:37:19 +01:00
parent 7162564cad
commit 4fc9a96fde
9 changed files with 15 additions and 15 deletions

View file

@ -22,7 +22,7 @@
- number is "float", but we probably want int everywhere instead - number is "float", but we probably want int everywhere instead
- numeric values capped at 2^53 -1 inclusive because json *) - numeric values capped at 2^53 -1 inclusive because json *)
open Crypto open Crypto
open Api_sig open Bin_sig
open Jsont.Object open Jsont.Object
let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok

View file

@ -15,7 +15,7 @@ type t = {
fee_refund: Amount.t; fee_refund: Amount.t;
age_mask: int; age_mask: int;
h_pub: Bin_type.DenominationHash.t; h_pub: Bin_type.DenominationHash.t;
master_sig: Api_sig.DenominationKeyValidityPS.t option; master_sig: Bin_sig.DenominationKeyValidityPS.t option;
} }
let make let make

View file

@ -23,7 +23,7 @@ let mk_future_denom ~sm_denom_priv
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub } DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
in in
let denom_secmod_sig = let denom_secmod_sig =
let open Api_sig.DenominationKeyAnnouncementPS in let open Bin_sig.DenominationKeyAnnouncementPS in
let h_denom_pub = h_pub in let h_denom_pub = h_pub in
let h_section_name = Bin_type.Hash_64_cstr.hash section_name in let h_section_name = Bin_type.Hash_64_cstr.hash section_name in
let anchor_time = stamp_start in let anchor_time = stamp_start in
@ -53,7 +53,7 @@ let mk_future_signkey ~sm_signkey_priv
({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } : ({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } :
Signkey.t) = Signkey.t) =
let signkey_secmod_sig = let signkey_secmod_sig =
let open Api_sig.SigningKeyAnnouncementPS in let open Bin_sig.SigningKeyAnnouncementPS in
let exchange_pub = pub in let exchange_pub = pub in
let anchor_time = stamp_start in let anchor_time = stamp_start in
let duration = let duration =
@ -112,7 +112,7 @@ let verify_denom_signature ~sm_denom DenomSignature.{ h_denom_pub; master_sig }
is unknown to the exchange." is unknown to the exchange."
| Some denom -> Ok denom | Some denom -> Ok denom
in in
let open Api_sig.DenominationKeyValidityPS in let open Bin_sig.DenominationKeyValidityPS in
let r : r = let r : r =
{ {
master= Config.master_public_key; master= Config.master_public_key;
@ -141,7 +141,7 @@ let verify_signkey_signature ~sm_signkey SignKeySignature.{ key; master_sig } =
is unknown to the exchange." is unknown to the exchange."
| Some signkey -> Ok signkey | Some signkey -> Ok signkey
in in
let open Api_sig.ExchangeSigningKeyValidityPS in let open Bin_sig.ExchangeSigningKeyValidityPS in
let r : r = let r : r =
{ {
start= signkey.stamp_start; start= signkey.stamp_start;

View file

@ -99,7 +99,7 @@ let lookup_signing_key =
let activate_signing_key = let activate_signing_key =
let insert_signkey = let insert_signkey =
let master_sig = Api_sig.ExchangeSigningKeyValidityPS.caqti in let master_sig = Bin_sig.ExchangeSigningKeyValidityPS.caqti in
Caqti_type.(t5 eddsa_public time time time master_sig ->. unit) Caqti_type.(t5 eddsa_public time time time master_sig ->. unit)
"INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \ "INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \
expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)" expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)"
@ -136,7 +136,7 @@ let lookup_denomination_key =
let add_denomination_key = let add_denomination_key =
let denomination_insert = let denomination_insert =
let master_sig = Api_sig.DenominationKeyValidityPS.caqti in let master_sig = Bin_sig.DenominationKeyValidityPS.caqti in
Caqti_type.( Caqti_type.(
t12 denomination_hash rsa_public master_sig time time time time amount t12 denomination_hash rsa_public master_sig time time time time amount
amount amount amount (t2 amount age_mask) amount amount amount (t2 amount age_mask)

View file

@ -6,7 +6,7 @@ val get_denoms : t -> Denomination.t list
val add_master_signatures : val add_master_signatures :
(module Pg.CONN) -> (module Pg.CONN) ->
t -> t ->
(Bin_type.DenominationHash.t * Api_sig.DenominationKeyValidityPS.t) list -> (Bin_type.DenominationHash.t * Bin_sig.DenominationKeyValidityPS.t) list ->
(unit, string) result (unit, string) result
val init : (module Pg.CONN) -> t val init : (module Pg.CONN) -> t

View file

@ -6,7 +6,7 @@ val get_signkeys : t -> Signkey.t list
val add_master_signatures : val add_master_signatures :
(module Pg.CONN) -> (module Pg.CONN) ->
t -> t ->
(Crypto.EddsaPublicKey.t * Api_sig.ExchangeSigningKeyValidityPS.t) list -> (Crypto.EddsaPublicKey.t * Bin_sig.ExchangeSigningKeyValidityPS.t) list ->
(unit, string) result (unit, string) result
val init : (module Pg.CONN) -> t val init : (module Pg.CONN) -> t

View file

@ -8,7 +8,7 @@ type t = {
stamp_start: Timestamp.t; stamp_start: Timestamp.t;
stamp_expire: Timestamp.t; stamp_expire: Timestamp.t;
stamp_end: Timestamp.t; stamp_end: Timestamp.t;
master_sig: Api_sig.ExchangeSigningKeyValidityPS.t option; master_sig: Bin_sig.ExchangeSigningKeyValidityPS.t option;
} }
let make () = let make () =

View file

@ -21,7 +21,7 @@ let denom_signature ~master_key
let octets = DenominationKey.to_octets denom_pub in let octets = DenominationKey.to_octets denom_pub in
let h_denom_pub = HashCode.hash octets in let h_denom_pub = HashCode.hash octets in
let master_sig = let master_sig =
let open Api_sig.DenominationKeyValidityPS in let open Bin_sig.DenominationKeyValidityPS in
let master = EddsaPrivateKey.(pub_of_priv master_key) in let master = EddsaPrivateKey.(pub_of_priv master_key) in
let denom_hash = DenominationHash.hash octets in let denom_hash = DenominationHash.hash octets in
sign ~key:master_key sign ~key:master_key
@ -44,7 +44,7 @@ let signkey_signature ~master_key
FutureSignKey. FutureSignKey.
{ key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } = { key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } =
let master_sig = let master_sig =
let open Api_sig.ExchangeSigningKeyValidityPS in let open Bin_sig.ExchangeSigningKeyValidityPS in
sign ~key:master_key sign ~key:master_key
{ {
start= stamp_start; start= stamp_start;
@ -78,7 +78,7 @@ let verify_future_signkey ~sm_signkey_pub
let duration = let duration =
Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn
in in
let open Api_sig.SigningKeyAnnouncementPS in let open Bin_sig.SigningKeyAnnouncementPS in
verify ~key:sm_signkey_pub signkey_secmod_sig verify ~key:sm_signkey_pub signkey_secmod_sig
{ exchange_pub; anchor_time; duration } { exchange_pub; anchor_time; duration }
@ -106,7 +106,7 @@ let verify_future_denom ~sm_denom_pub
let duration_withdraw = let duration_withdraw =
Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn
in in
let open Api_sig.DenominationKeyAnnouncementPS in let open Bin_sig.DenominationKeyAnnouncementPS in
verify ~key:sm_denom_pub denom_secmod_sig verify ~key:sm_denom_pub denom_secmod_sig
{ h_denom_pub; h_section_name; anchor_time; duration_withdraw } { h_denom_pub; h_section_name; anchor_time; duration_withdraw }