From af355249fca43ce57c827d401f67146421cf1a40 Mon Sep 17 00:00:00 2001 From: swrup Date: Mon, 23 Feb 2026 06:55:13 +0100 Subject: [PATCH] simplify: rm revoke from sk/dn data type --- src/api.ml | 10 +--------- src/denomination.ml | 1 - src/http_info.ml | 1 - src/keys.ml | 11 +---------- src/pg.ml | 27 +++++++++++---------------- src/pg_type.ml | 23 ++++++++--------------- src/signkey.ml | 2 -- 7 files changed, 21 insertions(+), 54 deletions(-) diff --git a/src/api.ml b/src/api.ml index 8a132db1..8d9b3244 100644 --- a/src/api.ml +++ b/src/api.ml @@ -925,15 +925,7 @@ module SignKey = struct (* TODO rm one of them *) let of_signkey - Signkey. - { - pub; - stamp_start; - stamp_expire; - stamp_end; - master_sig; - revoked_sig= _; - } = + Signkey.{ pub; stamp_start; stamp_expire; stamp_end; master_sig } = { key= pub; stamp_start; stamp_expire; stamp_end; master_sig } let jsont = diff --git a/src/denomination.ml b/src/denomination.ml index c8b8603e..28622e9c 100644 --- a/src/denomination.ml +++ b/src/denomination.ml @@ -14,5 +14,4 @@ type t = { age_mask: int; h_pub: denom_hash; master_sig: Signatures.DenominationKeyValidity.t; - revoked_sig: Signatures.MasterDenominationKeyRevocation.t option; } diff --git a/src/http_info.ml b/src/http_info.ml index 9f2f73d9..2e4287ec 100644 --- a/src/http_info.ml +++ b/src/http_info.ml @@ -39,7 +39,6 @@ let denomgroup_of_denomdata age_mask= _; h_pub= _; master_sig; - revoked_sig= _; } = let denoms = [ diff --git a/src/keys.ml b/src/keys.ml index e3e93913..69ff2fab 100644 --- a/src/keys.ml +++ b/src/keys.ml @@ -209,15 +209,7 @@ module Make (Conn : Pg.CONN) : S = struct { key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } = future_sk in - Signkey. - { - pub= key; - stamp_start; - stamp_expire; - stamp_end; - master_sig; - revoked_sig= None; - } + Signkey.{ pub= key; stamp_start; stamp_expire; stamp_end; master_sig } let dn_of_future_dn future_dn h_pub master_sig = let Api.FutureDenom. @@ -256,7 +248,6 @@ module Make (Conn : Pg.CONN) : S = struct age_mask= 0; h_pub; master_sig; - revoked_sig= None; } let certify_future_signkey pub master_sig = diff --git a/src/pg.ml b/src/pg.ml index 10a62e15..ecd1c074 100644 --- a/src/pg.ml +++ b/src/pg.ml @@ -38,10 +38,8 @@ let preflight = let find_signkey = let req = Caqti_type.(eddsa_pub ->? signkey_data) - "SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \ - esk.expire_legal, esk.master_sig, skr.master_sig FROM \ - exchange_sign_keys AS esk LEFT JOIN signkey_revocations AS skr ON \ - esk.esk_serial = skr.esk_serial WHERE esk.exchange_pub=$1" + "SELECT exchange_pub, valid_from, expire_sign, expire_legal, master_sig \ + FROM exchange_sign_keys WHERE exchange_pub=$1" in fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) -> Conn.find_opt req exchange_pub @@ -50,13 +48,12 @@ let get_active_signkeys = let req = Caqti_type.(time ->* signkey_data) "SELECT esk.exchange_pub, esk.valid_from, esk.expire_sign, \ - esk.expire_legal, esk.master_sig, NULL FROM exchange_sign_keys esk \ - WHERE expire_sign > $1 AND NOT EXISTS (SELECT esk_serial FROM \ + esk.expire_legal, esk.master_sig FROM exchange_sign_keys esk WHERE \ + expire_sign > $1 AND NOT EXISTS (SELECT esk_serial FROM \ signkey_revocations AS skr WHERE esk.esk_serial = skr.esk_serial)" in fun (module Conn : CONN) ~now -> Conn.collect_list req now -(* note: does not update revocation *) let insert_signkey = let req = Caqti_type.(signkey_data ->. unit) @@ -68,12 +65,10 @@ let insert_signkey = let find_denom = let req = Caqti_type.(denom_hash ->? denom_data) - "SELECT dn.denom_pub, (dn.coin).*, dn.valid_from, dn.expire_withdraw, \ - dn.expire_deposit, dn.expire_legal, (dn.fee_withdraw).*, \ - (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 LEFT JOIN denomination_revocations AS dnr ON dn.denominations_serial \ - = dnr.denominations_serial WHERE dn.denom_pub_hash=$1" + "SELECT denom_pub, (coin).*, valid_from, expire_withdraw, \ + expire_deposit, expire_legal, (fee_withdraw).*, (fee_deposit).*, \ + (fee_refresh).*, (fee_refund).*, age_mask, denom_pub_hash, master_sig \ + FROM denominations WHERE denom_pub_hash=$1" in 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, \ dn.expire_deposit, dn.expire_legal, (dn.fee_withdraw).*, \ (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 LEFT JOIN denomination_revocations AS dnr ON dn.denominations_serial \ - = dnr.denominations_serial" + dn.denom_pub_hash, dn.master_sig FROM denominations AS dn WHERE NOT \ + EXISTS (SELECT dn.denominations_serial FROM denomination_revocations AS \ + dnr WHERE dn.denominations_serial = dnr.denominations_serial)" in fun (module Conn : CONN) () -> Conn.collect_list req () diff --git a/src/pg_type.ml b/src/pg_type.ml index 40fb5826..24ec5b42 100644 --- a/src/pg_type.ml +++ b/src/pg_type.ml @@ -45,21 +45,16 @@ end let signkey_data = let master_sig = Signatures.ExchangeSigningKeyValidity.caqti in - let revoked_sig = option Signatures.MasterSigningKeyRevocation.caqti in custom ~encode:(fun - Signkey. - { pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig } - -> - Ok (pub, stamp_start, stamp_expire, stamp_end, master_sig, revoked_sig)) - ~decode:(fun - (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) + Signkey.{ pub; stamp_start; stamp_expire; stamp_end; master_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 }) + (t5 eddsa_pub time time time master_sig) let denom_data = let master_sig = Signatures.DenominationKeyValidity.caqti in - let revoked_sig = option Signatures.MasterDenominationKeyRevocation.caqti in custom ~encode:(fun Denomination. @@ -77,7 +72,6 @@ let denom_data = age_mask; h_pub; master_sig; - revoked_sig; } -> Ok @@ -92,7 +86,7 @@ let denom_data = fee_refresh, fee_refund, age_mask, - (h_pub, master_sig, revoked_sig) )) + (h_pub, master_sig) )) ~decode:(fun ( pub, value, @@ -105,7 +99,7 @@ let denom_data = fee_refresh, fee_refund, age_mask, - (h_pub, master_sig, revoked_sig) ) + (h_pub, master_sig) ) -> Ok { @@ -122,10 +116,9 @@ let denom_data = age_mask; h_pub; master_sig; - revoked_sig; }) (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 = custom diff --git a/src/signkey.ml b/src/signkey.ml index a710aee6..f0035e1f 100644 --- a/src/signkey.ml +++ b/src/signkey.ml @@ -1,11 +1,9 @@ open Crypto -(* TODO replace by Api.SignKey.t instead? (no revoked_sig) *) type t = { pub: eddsa_pub; stamp_start: Timestamp.t; stamp_expire: Timestamp.t; stamp_end: Timestamp.t; master_sig: Signatures.ExchangeSigningKeyValidity.t; - revoked_sig: Signatures.MasterSigningKeyRevocation.t option; }