This commit is contained in:
swrup 2025-12-11 08:48:16 +01:00
parent 262aeaec66
commit 2d67963656
4 changed files with 168 additions and 0 deletions

View file

@ -386,3 +386,54 @@ let update_global_fees ~db_conn v =
| None ->
let+ () = Pg.insert_global_fee db_conn v |> unwrap_err_caqti in
()
[@@@ocaml.warning "-27"]
let verify_wire
WireSetupMessage.
{
payto_uri;
master_sig_wire;
master_sig_add;
validity_start;
bank_label;
priority;
} =
(* TODO wire *)
let conversion_url = "" in
let credit_restrictions = "" in
let debit_restrictions = "" in
let open Bin_type in
let* () =
let open Bin_sig.MasterWireDetails in
verify ~key:Config.Exchange.master_public_key master_sig_wire
{
h_wire_details= FullPaytoHash.hash payto_uri;
h_conversion_url= Hash_64_cstr.hash conversion_url;
h_credit_restrictions= Hash_64_cstr.hash credit_restrictions;
h_debit_restrictions= Hash_64_cstr.hash debit_restrictions;
}
in
let* () =
let open Bin_sig.MasterAddWire in
verify ~key:Config.Exchange.master_public_key master_sig_add
{
start_date= validity_start;
h_wire= FullPaytoHash.hash payto_uri;
h_conversion_url= Hash_64_cstr.hash conversion_url;
h_credit_restrictions= Hash_64_cstr.hash credit_restrictions;
h_debit_restrictions= Hash_64_cstr.hash debit_restrictions;
}
in
Ok ()
let update_wire ~db_conn v =
let* last_change_opt =
let payto_uri = v.WireSetupMessage.payto_uri in
Pg.lookup_wire_timestamp db_conn ~payto_uri |> unwrap_err_caqti
in
match last_change_opt with
| Some _ -> Error "wire already setup"
| None ->
let+ () = Pg.insert_wire db_conn v |> unwrap_err_caqti in
()