simplify: rm revoke from sk/dn data type

This commit is contained in:
swrup 2026-02-23 06:55:13 +01:00
parent d7ccd69350
commit af355249fc
7 changed files with 21 additions and 54 deletions

View file

@ -925,15 +925,7 @@ module SignKey = struct
(* TODO rm one of them *) (* TODO rm one of them *)
let of_signkey let of_signkey
Signkey. Signkey.{ pub; stamp_start; stamp_expire; stamp_end; master_sig } =
{
pub;
stamp_start;
stamp_expire;
stamp_end;
master_sig;
revoked_sig= _;
} =
{ key= pub; stamp_start; stamp_expire; stamp_end; master_sig } { key= pub; stamp_start; stamp_expire; stamp_end; master_sig }
let jsont = let jsont =

View file

@ -14,5 +14,4 @@ type t = {
age_mask: int; age_mask: int;
h_pub: denom_hash; h_pub: denom_hash;
master_sig: Signatures.DenominationKeyValidity.t; master_sig: Signatures.DenominationKeyValidity.t;
revoked_sig: Signatures.MasterDenominationKeyRevocation.t option;
} }

View file

@ -39,7 +39,6 @@ let denomgroup_of_denomdata
age_mask= _; age_mask= _;
h_pub= _; h_pub= _;
master_sig; master_sig;
revoked_sig= _;
} = } =
let denoms = let denoms =
[ [

View file

@ -209,15 +209,7 @@ module Make (Conn : Pg.CONN) : S = struct
{ key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } = { key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } =
future_sk future_sk
in in
Signkey. Signkey.{ pub= key; stamp_start; stamp_expire; stamp_end; master_sig }
{
pub= key;
stamp_start;
stamp_expire;
stamp_end;
master_sig;
revoked_sig= None;
}
let dn_of_future_dn future_dn h_pub master_sig = let dn_of_future_dn future_dn h_pub master_sig =
let Api.FutureDenom. let Api.FutureDenom.
@ -256,7 +248,6 @@ module Make (Conn : Pg.CONN) : S = struct
age_mask= 0; age_mask= 0;
h_pub; h_pub;
master_sig; master_sig;
revoked_sig= None;
} }
let certify_future_signkey pub master_sig = let certify_future_signkey pub master_sig =

View file

@ -38,10 +38,8 @@ let preflight =
let find_signkey = let find_signkey =
let req = let req =
Caqti_type.(eddsa_pub ->? signkey_data) Caqti_type.(eddsa_pub ->? signkey_data)
"SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \ "SELECT exchange_pub, valid_from, expire_sign, expire_legal, master_sig \
esk.expire_legal, esk.master_sig, skr.master_sig FROM \ FROM exchange_sign_keys WHERE exchange_pub=$1"
exchange_sign_keys AS esk LEFT JOIN signkey_revocations AS skr ON \
esk.esk_serial = skr.esk_serial WHERE esk.exchange_pub=$1"
in in
fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) -> fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) ->
Conn.find_opt req exchange_pub Conn.find_opt req exchange_pub
@ -50,13 +48,12 @@ let get_active_signkeys =
let req = let req =
Caqti_type.(time ->* signkey_data) Caqti_type.(time ->* signkey_data)
"SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \ "SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \
esk.expire_legal, esk.master_sig, NULL FROM exchange_sign_keys esk \ esk.expire_legal, esk.master_sig FROM exchange_sign_keys esk WHERE \
WHERE expire_sign > $1 AND NOT EXISTS (SELECT esk_serial FROM \ expire_sign > $1 AND NOT EXISTS (SELECT esk_serial FROM \
signkey_revocations AS skr WHERE esk.esk_serial = skr.esk_serial)" signkey_revocations AS skr WHERE esk.esk_serial = skr.esk_serial)"
in in
fun (module Conn : CONN) ~now -> Conn.collect_list req now fun (module Conn : CONN) ~now -> Conn.collect_list req now
(* note: does not update revocation *)
let insert_signkey = let insert_signkey =
let req = let req =
Caqti_type.(signkey_data ->. unit) Caqti_type.(signkey_data ->. unit)
@ -68,12 +65,10 @@ let insert_signkey =
let find_denom = let find_denom =
let req = let req =
Caqti_type.(denom_hash ->? denom_data) Caqti_type.(denom_hash ->? denom_data)
"SELECT dn.denom_pub, (dn.coin).*, dn.valid_from, dn.expire_withdraw, \ "SELECT denom_pub, (coin).*, valid_from, expire_withdraw, \
dn.expire_deposit, dn.expire_legal, (dn.fee_withdraw).*, \ expire_deposit, expire_legal, (fee_withdraw).*, (fee_deposit).*, \
(dn.fee_deposit).*, (dn.fee_refresh).*, (dn.fee_refund).*, dn.age_mask, \ (fee_refresh).*, (fee_refund).*, age_mask, denom_pub_hash, master_sig \
dn.denom_pub_hash, dn.master_sig, dnr.master_sig FROM denominations AS \ FROM denominations WHERE denom_pub_hash=$1"
dn LEFT JOIN denomination_revocations AS dnr ON dn.denominations_serial \
= dnr.denominations_serial WHERE dn.denom_pub_hash=$1"
in in
fun (module Conn : CONN) h_denom_pub -> Conn.find_opt req h_denom_pub fun (module Conn : CONN) h_denom_pub -> Conn.find_opt req h_denom_pub
@ -83,9 +78,9 @@ let get_denominations =
"SELECT dn.denom_pub, (dn.coin).*, dn.valid_from, dn.expire_withdraw, \ "SELECT dn.denom_pub, (dn.coin).*, dn.valid_from, dn.expire_withdraw, \
dn.expire_deposit, dn.expire_legal, (dn.fee_withdraw).*, \ dn.expire_deposit, dn.expire_legal, (dn.fee_withdraw).*, \
(dn.fee_deposit).*, (dn.fee_refresh).*, (dn.fee_refund).*, dn.age_mask, \ (dn.fee_deposit).*, (dn.fee_refresh).*, (dn.fee_refund).*, dn.age_mask, \
dn.denom_pub_hash, dn.master_sig, dnr.master_sig FROM denominations AS \ dn.denom_pub_hash, dn.master_sig FROM denominations AS dn WHERE NOT \
dn LEFT JOIN denomination_revocations AS dnr ON dn.denominations_serial \ EXISTS (SELECT dn.denominations_serial FROM denomination_revocations AS \
= dnr.denominations_serial" dnr WHERE dn.denominations_serial = dnr.denominations_serial)"
in in
fun (module Conn : CONN) () -> Conn.collect_list req () fun (module Conn : CONN) () -> Conn.collect_list req ()

View file

@ -45,21 +45,16 @@ end
let signkey_data = let signkey_data =
let master_sig = Signatures.ExchangeSigningKeyValidity.caqti in let master_sig = Signatures.ExchangeSigningKeyValidity.caqti in
let revoked_sig = option Signatures.MasterSigningKeyRevocation.caqti in
custom custom
~encode:(fun ~encode:(fun
Signkey. Signkey.{ pub; stamp_start; stamp_expire; stamp_end; master_sig } ->
{ pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig } Ok (pub, stamp_start, stamp_expire, stamp_end, master_sig))
-> ~decode:(fun (pub, stamp_start, stamp_expire, stamp_end, master_sig) ->
Ok (pub, stamp_start, stamp_expire, stamp_end, master_sig, revoked_sig)) Ok { pub; stamp_start; stamp_expire; stamp_end; master_sig })
~decode:(fun (t5 eddsa_pub time time time master_sig)
(pub, stamp_start, stamp_expire, stamp_end, master_sig, revoked_sig) ->
Ok { pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig })
(t6 eddsa_pub time time time master_sig revoked_sig)
let denom_data = let denom_data =
let master_sig = Signatures.DenominationKeyValidity.caqti in let master_sig = Signatures.DenominationKeyValidity.caqti in
let revoked_sig = option Signatures.MasterDenominationKeyRevocation.caqti in
custom custom
~encode:(fun ~encode:(fun
Denomination. Denomination.
@ -77,7 +72,6 @@ let denom_data =
age_mask; age_mask;
h_pub; h_pub;
master_sig; master_sig;
revoked_sig;
} }
-> ->
Ok Ok
@ -92,7 +86,7 @@ let denom_data =
fee_refresh, fee_refresh,
fee_refund, fee_refund,
age_mask, age_mask,
(h_pub, master_sig, revoked_sig) )) (h_pub, master_sig) ))
~decode:(fun ~decode:(fun
( pub, ( pub,
value, value,
@ -105,7 +99,7 @@ let denom_data =
fee_refresh, fee_refresh,
fee_refund, fee_refund,
age_mask, age_mask,
(h_pub, master_sig, revoked_sig) ) (h_pub, master_sig) )
-> ->
Ok Ok
{ {
@ -122,10 +116,9 @@ let denom_data =
age_mask; age_mask;
h_pub; h_pub;
master_sig; master_sig;
revoked_sig;
}) })
(t12 rsa_pub amount time time time time amount amount amount amount int (t12 rsa_pub amount time time time time amount amount amount amount int
(t3 denom_hash master_sig revoked_sig)) (t2 denom_hash master_sig))
let account_restrictions = let account_restrictions =
custom custom

View file

@ -1,11 +1,9 @@
open Crypto open Crypto
(* TODO replace by Api.SignKey.t instead? (no revoked_sig) *)
type t = { type t = {
pub: eddsa_pub; pub: eddsa_pub;
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: Signatures.ExchangeSigningKeyValidity.t; master_sig: Signatures.ExchangeSigningKeyValidity.t;
revoked_sig: Signatures.MasterSigningKeyRevocation.t option;
} }