left join on find_sk/dn to fill revoked_sig (todo: test)

This commit is contained in:
swrup 2025-12-21 20:52:59 +01:00
parent 9a68d18a1d
commit 477dd2230b
2 changed files with 39 additions and 25 deletions

View file

@ -43,28 +43,20 @@ include struct
let planchets_hash = HashPlanchetsP.caqti
end
(* TODO revoked_sig
revoked_sig default to None, but could actually be revoked
always do a LEFT JOIN on signkey_revocations table? *)
let signkey_data =
let master_sig = Bin_sig.ExchangeSigningKeyValidity.caqti in
let revoked_sig = option Bin_sig.MasterSigningKeyRevocation.caqti in
custom
~encode:(fun
Signkey_data.
{
pub;
stamp_start;
stamp_expire;
stamp_end;
master_sig;
revoked_sig= _;
}
{ pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig }
->
match master_sig with
| None -> Error "signkey_data master_sig is none"
| Some 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, revoked_sig))
~decode:(fun
(pub, stamp_start, stamp_expire, stamp_end, master_sig, revoked_sig) ->
Ok
{
pub;
@ -72,12 +64,13 @@ let signkey_data =
stamp_expire;
stamp_end;
master_sig= Some master_sig;
revoked_sig= None;
revoked_sig;
})
(t5 eddsa_pub time time time master_sig)
(t6 eddsa_pub time time time master_sig revoked_sig)
let denom_data =
let master_sig = Bin_sig.DenominationKeyValidity.caqti in
let revoked_sig = option Bin_sig.MasterDenominationKeyRevocation.caqti in
custom
~encode:(fun
Denom_data.
@ -95,7 +88,7 @@ let denom_data =
age_mask;
h_pub;
master_sig;
revoked_sig= _;
revoked_sig;
}
->
match master_sig with
@ -113,7 +106,7 @@ let denom_data =
fee_refresh,
fee_refund,
age_mask,
(h_pub, master_sig) ))
(h_pub, master_sig, revoked_sig) ))
~decode:(fun
( pub,
value,
@ -126,7 +119,7 @@ let denom_data =
fee_refresh,
fee_refund,
age_mask,
(h_pub, master_sig) )
(h_pub, master_sig, revoked_sig) )
->
Ok
{
@ -143,10 +136,10 @@ let denom_data =
age_mask;
h_pub;
master_sig= Some master_sig;
revoked_sig= None;
revoked_sig;
})
(t12 rsa_pub amount time time time time amount amount amount amount int
(t2 denomination_hash master_sig))
(t3 denomination_hash master_sig revoked_sig))
let account_restrictions =
custom