+ test disable-auditor/wire/drain
This commit is contained in:
parent
c04fda0f1e
commit
7c989e590a
9 changed files with 386 additions and 193 deletions
|
|
@ -275,9 +275,10 @@ let global_fees ~output ~master_key ~start_date ~end_date ~history_fee
|
|||
let* () = write_file output s in
|
||||
Ok ()
|
||||
|
||||
let enable_auditor ~output ~master_key ~auditor_url ~auditor_name ~auditor_pub
|
||||
~validity_start =
|
||||
let enable_auditor ~output ~master_key ~auditor_url ~auditor_name ~auditor_pub =
|
||||
let* key = read_master_key_file master_key in
|
||||
let ns = Mtime_clock.now_ns () in
|
||||
let validity_start = Timestamp.of_s @@ Int64.unsigned_div ns 1_000_000_000L in
|
||||
let master_sig =
|
||||
let open Signatures.MasterAddAuditor in
|
||||
signf (EddsaSignature.sign ~key)
|
||||
|
|
@ -295,8 +296,10 @@ let enable_auditor ~output ~master_key ~auditor_url ~auditor_name ~auditor_pub
|
|||
let* () = write_file output s in
|
||||
Ok ()
|
||||
|
||||
let disable_auditor ~output ~master_key ~auditor_pub ~validity_end =
|
||||
let disable_auditor ~output ~master_key ~auditor_pub =
|
||||
let* key = read_master_key_file master_key in
|
||||
let ns = Mtime_clock.now_ns () in
|
||||
let validity_end = Timestamp.of_s @@ Int64.unsigned_div ns 1_000_000_000L in
|
||||
let master_sig =
|
||||
let open Signatures.MasterDelAuditor in
|
||||
signf (EddsaSignature.sign ~key) { end_date= validity_end; auditor_pub }
|
||||
|
|
@ -335,9 +338,84 @@ let wire_fee ~output ~master_key ~wire_method ~fee_start ~fee_end ~closing_fee
|
|||
let* () = write_file output s in
|
||||
Ok ()
|
||||
|
||||
(* TODO wire
|
||||
hash over json, hash over string option?
|
||||
|
||||
~conversion_url ~credit_restrictions ~debit_restrictions *)
|
||||
let enable_wire ~output ~master_key ~payto_uri ~bank_label ~priority =
|
||||
let* key = read_master_key_file master_key in
|
||||
let ns = Mtime_clock.now_ns () in
|
||||
let validity_start = Timestamp.of_s @@ Int64.unsigned_div ns 1_000_000_000L in
|
||||
let h_wire_details = Hash.FullPaytoHash.hash payto_uri in
|
||||
let conversion_url = None in
|
||||
let credit_restrictions = [] in
|
||||
let debit_restrictions = [] in
|
||||
let h_conversion_url =
|
||||
Hash.Cstring.H64.hash ((* ?? *) Option.value ~default:"" conversion_url)
|
||||
in
|
||||
let h_credit_restrictions = Hash.Cstring.H64.hash "" in
|
||||
let h_debit_restrictions = Hash.Cstring.H64.hash "" in
|
||||
let master_sig_wire =
|
||||
let open Signatures.MasterWireDetails in
|
||||
signf (EddsaSignature.sign ~key)
|
||||
{
|
||||
h_wire_details;
|
||||
h_conversion_url;
|
||||
h_credit_restrictions;
|
||||
h_debit_restrictions;
|
||||
}
|
||||
in
|
||||
let master_sig_add =
|
||||
let open Signatures.MasterAddWire in
|
||||
signf (EddsaSignature.sign ~key)
|
||||
{
|
||||
start_date= validity_start;
|
||||
h_wire= h_wire_details;
|
||||
h_conversion_url;
|
||||
h_credit_restrictions;
|
||||
h_debit_restrictions;
|
||||
}
|
||||
in
|
||||
let v =
|
||||
Api.WireSetupMessage.
|
||||
{
|
||||
master_sig_wire;
|
||||
master_sig_add;
|
||||
payto_uri;
|
||||
conversion_url;
|
||||
credit_restrictions;
|
||||
debit_restrictions;
|
||||
validity_start;
|
||||
bank_label;
|
||||
priority;
|
||||
}
|
||||
in
|
||||
let* s = Api.encode Api.WireSetupMessage.jsont v in
|
||||
let* () = write_file output s in
|
||||
Ok ()
|
||||
|
||||
let disable_wire ~output ~master_key ~payto_uri =
|
||||
let* key = read_master_key_file master_key in
|
||||
let ns = Mtime_clock.now_ns () in
|
||||
let validity_end = Timestamp.of_s @@ Int64.unsigned_div ns 1_000_000_000L in
|
||||
let h_wire = Hash.FullPaytoHash.hash payto_uri in
|
||||
let master_sig_del =
|
||||
let open Signatures.MasterDelWire in
|
||||
signf (EddsaSignature.sign ~key) { end_date= validity_end; h_wire }
|
||||
in
|
||||
let v = Api.WireTeardownMessage.{ payto_uri; master_sig_del; validity_end } in
|
||||
let* s = Api.encode Api.WireTeardownMessage.jsont v in
|
||||
let* () = write_file output s in
|
||||
Ok ()
|
||||
|
||||
let drain ~output ~master_key ~debit_account_section ~credit_payto_uri ~wtid
|
||||
~date ~amount =
|
||||
let* key = read_master_key_file master_key in
|
||||
let* () =
|
||||
match String.length wtid = 32 with
|
||||
| false -> Error "invalid wtid: must be 32 bytes"
|
||||
| true -> Ok ()
|
||||
in
|
||||
let master_sig =
|
||||
let open Signatures.MasterDrainProfit in
|
||||
signf (EddsaSignature.sign ~key)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue