wip wire-fee & global-fees
This commit is contained in:
parent
af09c697b8
commit
0e46ea162a
5 changed files with 212 additions and 9 deletions
|
|
@ -296,3 +296,99 @@ let auditor_disable ~db_conn auditor_pub
|
|||
|> unwrap_err_caqti
|
||||
in
|
||||
()
|
||||
|
||||
let verify_wire_fee_setup_sig
|
||||
WireFeeSetupMessage.
|
||||
{
|
||||
wire_method;
|
||||
master_sig_wire;
|
||||
fee_start;
|
||||
fee_end;
|
||||
closing_fee;
|
||||
wire_fee;
|
||||
} =
|
||||
let open Bin_sig.MasterWireFee in
|
||||
verify ~key:Config.Exchange.master_public_key master_sig_wire
|
||||
{
|
||||
h_wire_method= Bin_type.Hash_64_cstr.hash wire_method;
|
||||
start_date= fee_start;
|
||||
end_date= fee_end;
|
||||
wire_fee;
|
||||
closing_fee;
|
||||
}
|
||||
|
||||
let update_wire_fee_setup ~db_conn
|
||||
WireFeeSetupMessage.
|
||||
{
|
||||
wire_method;
|
||||
master_sig_wire;
|
||||
fee_start;
|
||||
fee_end;
|
||||
closing_fee;
|
||||
wire_fee;
|
||||
} =
|
||||
let* wire_fee_opt =
|
||||
Pg.lookup_wire_fee_by_time db_conn ~wire_method ~start_date:fee_start
|
||||
~end_date:fee_end
|
||||
|> unwrap_err_caqti
|
||||
in
|
||||
match wire_fee_opt with
|
||||
| Some (_wire_fee, _closing_fee) -> Error "wire-fee already setup"
|
||||
| None ->
|
||||
let+ () =
|
||||
Pg.insert_wire_fee db_conn ~wire_method ~start_date:fee_start
|
||||
~end_date:fee_end ~wire_fee ~closing_fee ~master_sig:master_sig_wire
|
||||
|> unwrap_err_caqti
|
||||
in
|
||||
()
|
||||
|
||||
let verify_global_fees
|
||||
GlobalFees.
|
||||
{
|
||||
start_date;
|
||||
end_date;
|
||||
history_fee;
|
||||
account_fee;
|
||||
purse_fee;
|
||||
history_expiration= _;
|
||||
purse_account_limit;
|
||||
purse_timeout= _;
|
||||
master_sig;
|
||||
} =
|
||||
(* TODO time..... *)
|
||||
let dummy_relative_time = None in
|
||||
let dummy_amount =
|
||||
Amount.make ~sign:None ~currency:"EUR" ~value:0_L ~fraction:0_l
|
||||
|> Result.get_ok
|
||||
in
|
||||
(* TODO what is kyc_timeout, kyc_fee ? *)
|
||||
let kyc_timeout = dummy_relative_time in
|
||||
let kyc_fee = dummy_amount in
|
||||
(* * *)
|
||||
let open Bin_sig.GlobalFees in
|
||||
verify ~key:Config.Exchange.master_public_key master_sig
|
||||
{
|
||||
start_date;
|
||||
end_date;
|
||||
purse_timeout= dummy_relative_time;
|
||||
kyc_timeout;
|
||||
history_expiration= dummy_relative_time;
|
||||
history_fee;
|
||||
kyc_fee;
|
||||
account_fee;
|
||||
purse_fee;
|
||||
purse_account_limit;
|
||||
}
|
||||
|
||||
let update_global_fees ~db_conn v =
|
||||
let* global_fees_opt =
|
||||
let start_date = v.GlobalFees.start_date in
|
||||
let end_date = v.GlobalFees.end_date in
|
||||
Pg.lookup_global_fee_by_time db_conn ~start_date ~end_date
|
||||
|> unwrap_err_caqti
|
||||
in
|
||||
match global_fees_opt with
|
||||
| Some _ -> Error "global-fees already setup"
|
||||
| None ->
|
||||
let+ () = Pg.insert_global_fee db_conn v |> unwrap_err_caqti in
|
||||
()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue