This commit is contained in:
swrup 2026-02-27 21:03:07 +01:00
parent b68a25dc9e
commit ec61fb70f8
3 changed files with 28 additions and 54 deletions

View file

@ -612,6 +612,31 @@ module GlobalFees = struct
master_sig: GlobalFees.t;
}
let verify_global_fees ~key
{
start_date;
end_date;
history_fee;
account_fee;
purse_fee;
history_expiration;
purse_account_limit;
purse_timeout;
master_sig;
} =
let open Signatures.GlobalFees in
verify key master_sig
{
start_date;
end_date;
purse_timeout;
history_expiration;
history_fee;
account_fee;
purse_fee;
purse_account_limit;
}
let jsont =
let make start_date end_date history_fee account_fee purse_fee
history_expiration purse_account_limit purse_timeout master_sig =

View file

@ -250,31 +250,7 @@ module Wire_fee = struct
end
module Global_fees = struct
let verify (module Keys : Keys.S)
GlobalFees.
{
start_date;
end_date;
history_fee;
account_fee;
purse_fee;
history_expiration;
purse_account_limit;
purse_timeout;
master_sig;
} =
let open Signatures.GlobalFees in
verify Config.master_public_key master_sig
{
start_date;
end_date;
purse_timeout;
history_expiration;
history_fee;
account_fee;
purse_fee;
purse_account_limit;
}
let verify v = GlobalFees.verify_global_fees ~key:Config.master_public_key v
let do_ ~db_conn v =
let* global_fees =
@ -309,11 +285,10 @@ module Global_fees = struct
and once set for a timeframe, it should not change. *)
let f req server _env =
Logs.info (fun m -> m "POST /management/global-fees/");
let keys = Vif.Server.device Devices.keys server in
let db_conn = Vif.Server.device Devices.db_connection server in
let res =
let* v = Vif.Request.of_json req |> unwrap_err_msg in
let* () = verify keys v in
let* () = verify v in
let* () = do_ ~db_conn v in
Ok ()
in

View file

@ -81,33 +81,7 @@ let keys content =
let* () =
v.global_fees
|> list_iter
(fun
GlobalFees.
{
start_date;
end_date;
history_fee;
account_fee;
purse_fee;
history_expiration;
purse_account_limit;
purse_timeout;
master_sig;
}
->
let open Signatures.GlobalFees in
verify v.master_public_key master_sig
{
start_date;
end_date;
purse_timeout;
history_expiration;
history_fee;
account_fee;
purse_fee;
purse_account_limit;
})
|> list_iter (GlobalFees.verify_global_fees ~key:v.master_public_key)
in
let* () =