+ ExchangePartnerSetupRequest
This commit is contained in:
parent
fb1d8efa3c
commit
22a26441e8
2 changed files with 83 additions and 12 deletions
43
src/api.ml
43
src/api.ml
|
|
@ -627,3 +627,46 @@ module AmlOfficerSetup = struct
|
||||||
|> mem "change_date" Timestamp.jsont ~enc:change_date
|
|> mem "change_date" Timestamp.jsont ~enc:change_date
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module ExchangePartnerSetupRequest = struct
|
||||||
|
type t = {
|
||||||
|
partner_base_url: string;
|
||||||
|
partner_pub: EddsaPublicKey.t;
|
||||||
|
wad_frequency: RelativeTime.t;
|
||||||
|
master_sig: PartnerConfigurationPS.t;
|
||||||
|
start_date: Timestamp.t;
|
||||||
|
end_date: Timestamp.t;
|
||||||
|
wad_fee: Amount.t;
|
||||||
|
}
|
||||||
|
|
||||||
|
let jsont =
|
||||||
|
let make partner_base_url partner_pub wad_frequency master_sig start_date
|
||||||
|
end_date wad_fee =
|
||||||
|
{
|
||||||
|
partner_base_url;
|
||||||
|
partner_pub;
|
||||||
|
wad_frequency;
|
||||||
|
master_sig;
|
||||||
|
start_date;
|
||||||
|
end_date;
|
||||||
|
wad_fee;
|
||||||
|
}
|
||||||
|
in
|
||||||
|
let partner_base_url v = v.partner_base_url in
|
||||||
|
let partner_pub v = v.partner_pub in
|
||||||
|
let wad_frequency v = v.wad_frequency in
|
||||||
|
let master_sig v = v.master_sig in
|
||||||
|
let start_date v = v.start_date in
|
||||||
|
let end_date v = v.end_date in
|
||||||
|
let wad_fee v = v.wad_fee in
|
||||||
|
let open Jsont.Object in
|
||||||
|
map ~kind:"ExchangePartnerSetupRequest" make
|
||||||
|
|> mem "partner_base_url" Jsont.string ~enc:partner_base_url
|
||||||
|
|> mem "partner_pub" EddsaPublicKey.jsont ~enc:partner_pub
|
||||||
|
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|
||||||
|
|> mem "master_sig" PartnerConfigurationPS.jsont ~enc:master_sig
|
||||||
|
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
||||||
|
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
||||||
|
|> mem "wad_fee" Amount.jsont ~enc:wad_fee
|
||||||
|
|> finish
|
||||||
|
end
|
||||||
|
|
|
||||||
|
|
@ -515,6 +515,46 @@ module MasterAmlOfficerStatusPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module PartnerConfigurationPS = struct
|
||||||
|
module R = struct
|
||||||
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARNTER_DETAILS *)
|
||||||
|
type r = {
|
||||||
|
partner_pub: MasterPublicKeyP.t;
|
||||||
|
start_date: TimestampNBO.t;
|
||||||
|
end_date: TimestampNBO.t;
|
||||||
|
wad_frequency: TimeRelativeNBO.t;
|
||||||
|
wad_fee: AmountNBO.t;
|
||||||
|
h_url: Hash_64_cstr.t;
|
||||||
|
}
|
||||||
|
|
||||||
|
let bin =
|
||||||
|
let open Bin in
|
||||||
|
Purpose.make_bin Taler_signatures.master_partner_details
|
||||||
|
@@ fun _purpose ->
|
||||||
|
record
|
||||||
|
(fun
|
||||||
|
_purpose
|
||||||
|
partner_pub
|
||||||
|
start_date
|
||||||
|
end_date
|
||||||
|
wad_frequency
|
||||||
|
wad_fee
|
||||||
|
h_url
|
||||||
|
-> { partner_pub; start_date; end_date; wad_frequency; wad_fee; h_url })
|
||||||
|
|+ Purpose.field _purpose
|
||||||
|
|+ field MasterPublicKeyP.bin (fun t -> t.partner_pub)
|
||||||
|
|+ field TimestampNBO.bin (fun t -> t.start_date)
|
||||||
|
|+ field TimestampNBO.bin (fun t -> t.end_date)
|
||||||
|
|+ field TimeRelativeNBO.bin (fun t -> t.wad_frequency)
|
||||||
|
|+ field AmountNBO.bin (fun t -> t.wad_fee)
|
||||||
|
|+ field Hash_64_cstr.bin (fun t -> t.h_url)
|
||||||
|
|> sealr
|
||||||
|
end
|
||||||
|
|
||||||
|
include R
|
||||||
|
include MK (R)
|
||||||
|
end
|
||||||
|
|
||||||
(* ### BIN IMPL END ### *)
|
(* ### BIN IMPL END ### *)
|
||||||
|
|
||||||
module WithdrawRequestPS = struct
|
module WithdrawRequestPS = struct
|
||||||
|
|
@ -994,18 +1034,6 @@ module AmlDecisionPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PartnerConfigurationPS = struct
|
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARNTER_DETAILS *)
|
|
||||||
type t = {
|
|
||||||
partner_pub: MasterPublicKeyP.t;
|
|
||||||
start_date: TimestampNBO.t;
|
|
||||||
end_date: TimestampNBO.t;
|
|
||||||
wad_frequency: TimeRelativeNBO.t;
|
|
||||||
wad_fee: AmountNBO.t;
|
|
||||||
h_url: Hash_64_cstr.t;
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
module ReserveOpenPS = struct
|
module ReserveOpenPS = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
|
||||||
type t = {
|
type t = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue