add json+bin for MasterSignatures
This commit is contained in:
parent
bee3533b9e
commit
f3de6ea80d
2 changed files with 139 additions and 26 deletions
|
|
@ -129,6 +129,88 @@ module SigningKeyAnnouncementPS = struct
|
|||
|> sealr
|
||||
end
|
||||
|
||||
module DenominationKeyValidityPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
|
||||
type t = {
|
||||
master: MasterPublicKeyP.t;
|
||||
start: TimeAbsoluteNBO.t;
|
||||
expire_withdraw: TimeAbsoluteNBO.t;
|
||||
expire_spend: TimeAbsoluteNBO.t;
|
||||
expire_legal: TimeAbsoluteNBO.t;
|
||||
value: AmountNBO.t;
|
||||
fee_withdraw: AmountNBO.t;
|
||||
fee_deposit: AmountNBO.t;
|
||||
fee_refresh: AmountNBO.t;
|
||||
denom_hash: DenominationHash.t;
|
||||
}
|
||||
|
||||
let bin =
|
||||
let open Bin in
|
||||
Purpose.make_bin Taler_signatures.master_denomination_key_validity
|
||||
@@ fun purpose ->
|
||||
record
|
||||
(fun
|
||||
_purpose
|
||||
master
|
||||
start
|
||||
expire_withdraw
|
||||
expire_spend
|
||||
expire_legal
|
||||
value
|
||||
fee_withdraw
|
||||
fee_deposit
|
||||
fee_refresh
|
||||
denom_hash
|
||||
->
|
||||
{
|
||||
master;
|
||||
start;
|
||||
expire_withdraw;
|
||||
expire_spend;
|
||||
expire_legal;
|
||||
value;
|
||||
fee_withdraw;
|
||||
fee_deposit;
|
||||
fee_refresh;
|
||||
denom_hash;
|
||||
})
|
||||
|+ Purpose.field purpose
|
||||
|+ field MasterPublicKeyP.bin (fun t -> t.master)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.start)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.expire_withdraw)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.expire_spend)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.expire_legal)
|
||||
|+ field AmountNBO.bin (fun t -> t.value)
|
||||
|+ field AmountNBO.bin (fun t -> t.fee_withdraw)
|
||||
|+ field AmountNBO.bin (fun t -> t.fee_deposit)
|
||||
|+ field AmountNBO.bin (fun t -> t.fee_refresh)
|
||||
|+ field DenominationHash.bin (fun t -> t.denom_hash)
|
||||
|> sealr
|
||||
end
|
||||
|
||||
module ExchangeSigningKeyValidityPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
|
||||
type t = {
|
||||
start: TimeAbsoluteNBO.t;
|
||||
expire: TimeAbsoluteNBO.t;
|
||||
end_: TimeAbsoluteNBO.t; (* "end" renamed to end_ *)
|
||||
signkey_pub: ExchangePublicKeyP.t;
|
||||
}
|
||||
|
||||
let bin =
|
||||
let open Bin in
|
||||
Purpose.make_bin Taler_signatures.master_signing_key_validity
|
||||
@@ fun purpose ->
|
||||
record (fun _purpose start expire end_ signkey_pub ->
|
||||
{ start; expire; end_; signkey_pub })
|
||||
|+ Purpose.field purpose
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.start)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.expire)
|
||||
|+ field TimeAbsoluteNBO.bin (fun t -> t.end_)
|
||||
|+ field ExchangePublicKeyP.bin (fun t -> t.signkey_pub)
|
||||
|> sealr
|
||||
end
|
||||
|
||||
(* ### BIN IMPL END ### *)
|
||||
|
||||
module SingleWithdrawRequestPS = struct
|
||||
|
|
@ -190,16 +272,6 @@ module RefreshMeltConfirmationPS = struct
|
|||
}
|
||||
end
|
||||
|
||||
module ExchangeSigningKeyValidityPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
|
||||
type t = {
|
||||
start: TimeAbsoluteNBO.t;
|
||||
expire: TimeAbsoluteNBO.t;
|
||||
end_: TimeAbsoluteNBO.t; (* "end" renamed to end_ *)
|
||||
signkey_pub: ExchangePublicKeyP.t;
|
||||
}
|
||||
end
|
||||
|
||||
module ExchangeKeySetPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *)
|
||||
type t = {
|
||||
|
|
@ -208,22 +280,6 @@ module ExchangeKeySetPS = struct
|
|||
}
|
||||
end
|
||||
|
||||
module DenominationKeyValidityPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
|
||||
type t = {
|
||||
master: MasterPublicKeyP.t;
|
||||
start: TimeAbsoluteNBO.t;
|
||||
expire_withdraw: TimeAbsoluteNBO.t;
|
||||
expire_spend: TimeAbsoluteNBO.t;
|
||||
expire_legal: TimeAbsoluteNBO.t;
|
||||
value: AmountNBO.t;
|
||||
fee_withdraw: AmountNBO.t;
|
||||
fee_deposit: AmountNBO.t;
|
||||
fee_refresh: AmountNBO.t;
|
||||
denom_hash: DenominationHash.t;
|
||||
}
|
||||
end
|
||||
|
||||
module MasterWireDetailsPS = struct
|
||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *)
|
||||
type t = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue