This commit is contained in:
parent
9a68d18a1d
commit
5c03c3194d
2 changed files with 27 additions and 18 deletions
23
src/pg.ml
23
src/pg.ml
|
|
@ -37,12 +37,15 @@ let preflight =
|
|||
in
|
||||
fun (module Conn : CONN) -> Syntax.list_iter (fun p -> Conn.exec p ()) l
|
||||
|
||||
(* TODO revoked_sig *)
|
||||
(* TODO revoked_sig
|
||||
check left join *)
|
||||
let find_signkey =
|
||||
let find_signkey =
|
||||
Caqti_type.(eddsa_pub ->? signkey_data)
|
||||
"SELECT exchange_pub, valid_from, expire_sign, expire_legal, master_sig \
|
||||
FROM exchange_sign_keys WHERE exchange_pub=$1"
|
||||
"SELECT exchange_pub, valid_from, expire_sign, expire_legal, \
|
||||
exchange_sign_keys.master_sig, signkey_revocations.master_sig FROM \
|
||||
exchange_sign_keys WHERE exchange_pub=$1 LEFT JOIN signkey_revocations \
|
||||
USING (esk_serial)"
|
||||
in
|
||||
fun (module Conn : CONN) (exchange_pub : EddsaPublicKey.t) ->
|
||||
Conn.find_opt find_signkey exchange_pub
|
||||
|
|
@ -286,6 +289,20 @@ let insert_partner =
|
|||
in
|
||||
fun (module Conn : CONN) v -> Conn.exec insert_partner v
|
||||
|
||||
(*
|
||||
let get_denominations =
|
||||
let get_denominations =
|
||||
Caqti_type.(unit ->* denom_data)
|
||||
"SELECT denominations_serial, denominations.master_sig, \
|
||||
denom_revocations_serial_id IS NOT NULL AS revoked, valid_from, \
|
||||
expire_withdraw, expire_deposit, expire_legal, coin, fee_withdraw, \
|
||||
fee_deposit, fee_refresh, fee_refund, denom_type, age_mask, denom_pub \
|
||||
FROM denominations LEFT JOIN denomination_revocations USING \
|
||||
(denominations_serial)"
|
||||
in
|
||||
fun (module Conn : CONN) -> Conn.collect_list get_denominations ()
|
||||
*)
|
||||
|
||||
(* TODO
|
||||
iterate_denominations
|
||||
iterate_active_signkeys
|
||||
|
|
|
|||
|
|
@ -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,9 +64,9 @@ 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue