This commit is contained in:
parent
4fc9a96fde
commit
67f1862966
9 changed files with 122 additions and 122 deletions
92
src/api.ml
92
src/api.ml
|
|
@ -325,7 +325,7 @@ module FutureSignKey = struct
|
||||||
stamp_start: Timestamp.t;
|
stamp_start: Timestamp.t;
|
||||||
stamp_expire: Timestamp.t;
|
stamp_expire: Timestamp.t;
|
||||||
stamp_end: Timestamp.t;
|
stamp_end: Timestamp.t;
|
||||||
signkey_secmod_sig: SigningKeyAnnouncementPS.t;
|
signkey_secmod_sig: SigningKeyAnnouncement.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -342,7 +342,7 @@ module FutureSignKey = struct
|
||||||
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
||||||
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|
||||||
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|
||||||
|> mem "signkey_secmod_sig" SigningKeyAnnouncementPS.jsont
|
|> mem "signkey_secmod_sig" SigningKeyAnnouncement.jsont
|
||||||
~enc:signkey_secmod_sig
|
~enc:signkey_secmod_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
@ -360,7 +360,7 @@ module FutureDenom = struct
|
||||||
fee_deposit: Amount.t;
|
fee_deposit: Amount.t;
|
||||||
fee_refresh: Amount.t;
|
fee_refresh: Amount.t;
|
||||||
fee_refund: Amount.t;
|
fee_refund: Amount.t;
|
||||||
denom_secmod_sig: DenominationKeyAnnouncementPS.t;
|
denom_secmod_sig: DenominationKeyAnnouncement.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -406,7 +406,7 @@ module FutureDenom = struct
|
||||||
|> mem "fee_deposit" Amount.jsont ~enc:fee_deposit
|
|> mem "fee_deposit" Amount.jsont ~enc:fee_deposit
|
||||||
|> mem "fee_refresh" Amount.jsont ~enc:fee_refresh
|
|> mem "fee_refresh" Amount.jsont ~enc:fee_refresh
|
||||||
|> mem "fee_refund" Amount.jsont ~enc:fee_refund
|
|> mem "fee_refund" Amount.jsont ~enc:fee_refund
|
||||||
|> mem "denom_secmod_sig" DenominationKeyAnnouncementPS.jsont
|
|> mem "denom_secmod_sig" DenominationKeyAnnouncement.jsont
|
||||||
~enc:denom_secmod_sig
|
~enc:denom_secmod_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
@ -452,7 +452,7 @@ end
|
||||||
module SignKeySignature = struct
|
module SignKeySignature = struct
|
||||||
type t = {
|
type t = {
|
||||||
key: EddsaPublicKey.t;
|
key: EddsaPublicKey.t;
|
||||||
master_sig: ExchangeSigningKeyValidityPS.t;
|
master_sig: ExchangeSigningKeyValidity.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -461,14 +461,14 @@ module SignKeySignature = struct
|
||||||
let master_sig v = v.master_sig in
|
let master_sig v = v.master_sig in
|
||||||
map ~kind:"SignKeySignature" make
|
map ~kind:"SignKeySignature" make
|
||||||
|> mem "key" EddsaPublicKey.jsont ~enc:key
|
|> mem "key" EddsaPublicKey.jsont ~enc:key
|
||||||
|> mem "master_sig" ExchangeSigningKeyValidityPS.jsont ~enc:master_sig
|
|> mem "master_sig" ExchangeSigningKeyValidity.jsont ~enc:master_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenomSignature = struct
|
module DenomSignature = struct
|
||||||
type t = {
|
type t = {
|
||||||
h_denom_pub: HashCode.t;
|
h_denom_pub: HashCode.t;
|
||||||
master_sig: DenominationKeyValidityPS.t;
|
master_sig: DenominationKeyValidity.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -477,7 +477,7 @@ module DenomSignature = struct
|
||||||
let master_sig v = v.master_sig in
|
let master_sig v = v.master_sig in
|
||||||
map ~kind:"DenomSignature" make
|
map ~kind:"DenomSignature" make
|
||||||
|> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub
|
|> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub
|
||||||
|> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig
|
|> mem "master_sig" DenominationKeyValidity.jsont ~enc:master_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -498,24 +498,24 @@ module MasterSignatures = struct
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenomRevocationSignature = struct
|
module DenomRevocationSignature = struct
|
||||||
type t = { master_sig: MasterDenominationKeyRevocationPS.t }
|
type t = { master_sig: MasterDenominationKeyRevocation.t }
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
let make master_sig = { master_sig } in
|
let make master_sig = { master_sig } in
|
||||||
let enc v = v.master_sig in
|
let enc v = v.master_sig in
|
||||||
map ~kind:"DenomRevocationSignature" make
|
map ~kind:"DenomRevocationSignature" make
|
||||||
|> mem "master_sig" MasterDenominationKeyRevocationPS.jsont ~enc
|
|> mem "master_sig" MasterDenominationKeyRevocation.jsont ~enc
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
module SignkeyRevocationSignature = struct
|
module SignkeyRevocationSignature = struct
|
||||||
type t = { master_sig: MasterSigningKeyRevocationPS.t }
|
type t = { master_sig: MasterSigningKeyRevocation.t }
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
let make master_sig = { master_sig } in
|
let make master_sig = { master_sig } in
|
||||||
let enc v = v.master_sig in
|
let enc v = v.master_sig in
|
||||||
map ~kind:"SignkeyRevocationSignature" make
|
map ~kind:"SignkeyRevocationSignature" make
|
||||||
|> mem "master_sig" MasterSigningKeyRevocationPS.jsont ~enc
|
|> mem "master_sig" MasterSigningKeyRevocation.jsont ~enc
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -524,7 +524,7 @@ module AuditorSetupMessage = struct
|
||||||
auditor_url: string;
|
auditor_url: string;
|
||||||
auditor_name: string;
|
auditor_name: string;
|
||||||
auditor_pub: EddsaPublicKey.t;
|
auditor_pub: EddsaPublicKey.t;
|
||||||
master_sig: MasterAddAuditorPS.t;
|
master_sig: MasterAddAuditor.t;
|
||||||
(* TODO monotonic time
|
(* TODO monotonic time
|
||||||
something about using monotonic system time here! *)
|
something about using monotonic system time here! *)
|
||||||
validity_start: Timestamp.t;
|
validity_start: Timestamp.t;
|
||||||
|
|
@ -543,14 +543,14 @@ module AuditorSetupMessage = struct
|
||||||
|> mem "auditor_url" Jsont.string ~enc:auditor_url
|
|> mem "auditor_url" Jsont.string ~enc:auditor_url
|
||||||
|> mem "auditor_name" Jsont.string ~enc:auditor_name
|
|> mem "auditor_name" Jsont.string ~enc:auditor_name
|
||||||
|> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub
|
|> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub
|
||||||
|> mem "master_sig" MasterAddAuditorPS.jsont ~enc:master_sig
|
|> mem "master_sig" MasterAddAuditor.jsont ~enc:master_sig
|
||||||
|> mem "validity_start" Timestamp.jsont ~enc:validity_start
|
|> mem "validity_start" Timestamp.jsont ~enc:validity_start
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
module AuditorTeardownMessage = struct
|
module AuditorTeardownMessage = struct
|
||||||
type t = {
|
type t = {
|
||||||
master_sig: MasterDelAuditorPS.t;
|
master_sig: MasterDelAuditor.t;
|
||||||
(* TODO monotonic time *)
|
(* TODO monotonic time *)
|
||||||
validity_end: Timestamp.t;
|
validity_end: Timestamp.t;
|
||||||
}
|
}
|
||||||
|
|
@ -560,7 +560,7 @@ module AuditorTeardownMessage = struct
|
||||||
let master_sig v = v.master_sig in
|
let master_sig v = v.master_sig in
|
||||||
let validity_end v = v.validity_end in
|
let validity_end v = v.validity_end in
|
||||||
map ~kind:"AuditorTeardownMessage" make
|
map ~kind:"AuditorTeardownMessage" make
|
||||||
|> mem "master_sig" MasterDelAuditorPS.jsont ~enc:master_sig
|
|> mem "master_sig" MasterDelAuditor.jsont ~enc:master_sig
|
||||||
|> mem "validity_end" Timestamp.jsont ~enc:validity_end
|
|> mem "validity_end" Timestamp.jsont ~enc:validity_end
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
@ -571,7 +571,7 @@ module WireFeeSetupMessage = struct
|
||||||
(* TODO over which struct?
|
(* TODO over which struct?
|
||||||
Signature using the exchange's offline key
|
Signature using the exchange's offline key
|
||||||
with purpose TALER_SIGNATURE_MASTER_WIRE_FEES *)
|
with purpose TALER_SIGNATURE_MASTER_WIRE_FEES *)
|
||||||
master_sig_wire: MasterWireFeePS.t;
|
master_sig_wire: MasterWireFee.t;
|
||||||
fee_start: Amount.t;
|
fee_start: Amount.t;
|
||||||
fee_end: Amount.t;
|
fee_end: Amount.t;
|
||||||
closing_fee: Amount.t;
|
closing_fee: Amount.t;
|
||||||
|
|
@ -598,7 +598,7 @@ module WireFeeSetupMessage = struct
|
||||||
let wire_fee v = v.wire_fee in
|
let wire_fee v = v.wire_fee in
|
||||||
map ~kind:"WireFeeSetupMessage" make
|
map ~kind:"WireFeeSetupMessage" make
|
||||||
|> mem "wire_method" Jsont.string ~enc:wire_method
|
|> mem "wire_method" Jsont.string ~enc:wire_method
|
||||||
|> mem "master_sig_wire" MasterWireFeePS.jsont ~enc:master_sig_wire
|
|> mem "master_sig_wire" MasterWireFee.jsont ~enc:master_sig_wire
|
||||||
|> mem "fee_start" Amount.jsont ~enc:fee_start
|
|> mem "fee_start" Amount.jsont ~enc:fee_start
|
||||||
|> mem "fee_end" Amount.jsont ~enc:fee_end
|
|> mem "fee_end" Amount.jsont ~enc:fee_end
|
||||||
|> mem "closing_fee" Amount.jsont ~enc:closing_fee
|
|> mem "closing_fee" Amount.jsont ~enc:closing_fee
|
||||||
|
|
@ -617,7 +617,7 @@ module GlobalFees = struct
|
||||||
purse_account_limit: int;
|
purse_account_limit: int;
|
||||||
purse_timeout: RelativeTime.t;
|
purse_timeout: RelativeTime.t;
|
||||||
(* Signature of TALER_GlobalFeesPS. *)
|
(* Signature of TALER_GlobalFeesPS. *)
|
||||||
master_sig: GlobalFeesPS.t;
|
master_sig: GlobalFees.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -653,15 +653,15 @@ module GlobalFees = struct
|
||||||
|> mem "history_expiration" RelativeTime.jsont ~enc:history_expiration
|
|> mem "history_expiration" RelativeTime.jsont ~enc:history_expiration
|
||||||
|> mem "purse_account_limit" Jsont.int ~enc:purse_account_limit
|
|> mem "purse_account_limit" Jsont.int ~enc:purse_account_limit
|
||||||
|> mem "purse_timeout" RelativeTime.jsont ~enc:purse_timeout
|
|> mem "purse_timeout" RelativeTime.jsont ~enc:purse_timeout
|
||||||
|> mem "master_sig" GlobalFeesPS.jsont ~enc:master_sig
|
|> mem "master_sig" GlobalFees.jsont ~enc:master_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
module WireSetupMessage = struct
|
module WireSetupMessage = struct
|
||||||
type t = {
|
type t = {
|
||||||
payto_uri: string;
|
payto_uri: string;
|
||||||
master_sig_wire: MasterWireDetailsPS.t;
|
master_sig_wire: MasterWireDetails.t;
|
||||||
master_sig_add: MasterAddWirePS.t;
|
master_sig_add: MasterAddWire.t;
|
||||||
(* TODO monotonic time *)
|
(* TODO monotonic time *)
|
||||||
validity_start: Timestamp.t;
|
validity_start: Timestamp.t;
|
||||||
bank_label: string option;
|
bank_label: string option;
|
||||||
|
|
@ -688,8 +688,8 @@ module WireSetupMessage = struct
|
||||||
let priority v = v.priority in
|
let priority v = v.priority in
|
||||||
map ~kind:"WireSetupMessage" make
|
map ~kind:"WireSetupMessage" make
|
||||||
|> mem "payto_uri" Jsont.string ~enc:payto_uri
|
|> mem "payto_uri" Jsont.string ~enc:payto_uri
|
||||||
|> mem "master_sig_wire" MasterWireDetailsPS.jsont ~enc:master_sig_wire
|
|> mem "master_sig_wire" MasterWireDetails.jsont ~enc:master_sig_wire
|
||||||
|> mem "master_sig_add" MasterAddWirePS.jsont ~enc:master_sig_add
|
|> mem "master_sig_add" MasterAddWire.jsont ~enc:master_sig_add
|
||||||
|> mem "validity_start" Timestamp.jsont ~enc:validity_start
|
|> mem "validity_start" Timestamp.jsont ~enc:validity_start
|
||||||
|> mem "bank_label" (Jsont.option Jsont.string) ~enc:bank_label
|
|> mem "bank_label" (Jsont.option Jsont.string) ~enc:bank_label
|
||||||
|> mem "priority" (Jsont.option Jsont.int) ~enc:priority
|
|> mem "priority" (Jsont.option Jsont.int) ~enc:priority
|
||||||
|
|
@ -699,7 +699,7 @@ end
|
||||||
module WireTeardownMessage = struct
|
module WireTeardownMessage = struct
|
||||||
type t = {
|
type t = {
|
||||||
payto_uri: string;
|
payto_uri: string;
|
||||||
master_sig_del: MasterDelWirePS.t;
|
master_sig_del: MasterDelWire.t;
|
||||||
(* TODO monotonic time *)
|
(* TODO monotonic time *)
|
||||||
validity_end: Timestamp.t;
|
validity_end: Timestamp.t;
|
||||||
}
|
}
|
||||||
|
|
@ -713,7 +713,7 @@ module WireTeardownMessage = struct
|
||||||
let validity_end v = v.validity_end in
|
let validity_end v = v.validity_end in
|
||||||
map ~kind:"WireTeardownMessage" make
|
map ~kind:"WireTeardownMessage" make
|
||||||
|> mem "payto_uri" Jsont.string ~enc:payto_uri
|
|> mem "payto_uri" Jsont.string ~enc:payto_uri
|
||||||
|> mem "master_sig_del" MasterDelWirePS.jsont ~enc:master_sig_del
|
|> mem "master_sig_del" MasterDelWire.jsont ~enc:master_sig_del
|
||||||
|> mem "validity_end" Timestamp.jsont ~enc:validity_end
|
|> mem "validity_end" Timestamp.jsont ~enc:validity_end
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
@ -723,7 +723,7 @@ module DrainProfitsMessage = struct
|
||||||
debit_account_section: string;
|
debit_account_section: string;
|
||||||
credit_payto_uri: string;
|
credit_payto_uri: string;
|
||||||
wtid: B32.t;
|
wtid: B32.t;
|
||||||
master_sig: MasterDrainProfitPS.t;
|
master_sig: MasterDrainProfit.t;
|
||||||
date: Timestamp.t;
|
date: Timestamp.t;
|
||||||
amount: Amount.t;
|
amount: Amount.t;
|
||||||
}
|
}
|
||||||
|
|
@ -750,7 +750,7 @@ module DrainProfitsMessage = struct
|
||||||
|> mem "debit_account_section" Jsont.string ~enc:debit_account_section
|
|> mem "debit_account_section" Jsont.string ~enc:debit_account_section
|
||||||
|> mem "credit_payto_uri" Jsont.string ~enc:credit_payto_uri
|
|> mem "credit_payto_uri" Jsont.string ~enc:credit_payto_uri
|
||||||
|> mem "wtid" B32.jsont ~enc:wtid
|
|> mem "wtid" B32.jsont ~enc:wtid
|
||||||
|> mem "master_sig" MasterDrainProfitPS.jsont ~enc:master_sig
|
|> mem "master_sig" MasterDrainProfit.jsont ~enc:master_sig
|
||||||
|> mem "date" Timestamp.jsont ~enc:date
|
|> mem "date" Timestamp.jsont ~enc:date
|
||||||
|> mem "amount" Amount.jsont ~enc:amount
|
|> mem "amount" Amount.jsont ~enc:amount
|
||||||
|> finish
|
|> finish
|
||||||
|
|
@ -762,7 +762,7 @@ module AmlOfficerSetup = struct
|
||||||
officer_name: string;
|
officer_name: string;
|
||||||
is_active: bool;
|
is_active: bool;
|
||||||
read_only: bool;
|
read_only: bool;
|
||||||
master_sig: MasterAmlOfficerStatusPS.t;
|
master_sig: MasterAmlOfficerStatus.t;
|
||||||
change_date: Timestamp.t;
|
change_date: Timestamp.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -789,7 +789,7 @@ module AmlOfficerSetup = struct
|
||||||
|> mem "officer_name" Jsont.string ~enc:officer_name
|
|> mem "officer_name" Jsont.string ~enc:officer_name
|
||||||
|> mem "is_active" Jsont.bool ~enc:is_active
|
|> mem "is_active" Jsont.bool ~enc:is_active
|
||||||
|> mem "read_only" Jsont.bool ~enc:read_only
|
|> mem "read_only" Jsont.bool ~enc:read_only
|
||||||
|> mem "master_sig" MasterAmlOfficerStatusPS.jsont ~enc:master_sig
|
|> mem "master_sig" MasterAmlOfficerStatus.jsont ~enc:master_sig
|
||||||
|> mem "change_date" Timestamp.jsont ~enc:change_date
|
|> mem "change_date" Timestamp.jsont ~enc:change_date
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
@ -799,7 +799,7 @@ module ExchangePartnerSetupRequest = struct
|
||||||
partner_base_url: string;
|
partner_base_url: string;
|
||||||
partner_pub: EddsaPublicKey.t;
|
partner_pub: EddsaPublicKey.t;
|
||||||
wad_frequency: RelativeTime.t;
|
wad_frequency: RelativeTime.t;
|
||||||
master_sig: PartnerConfigurationPS.t;
|
master_sig: PartnerConfiguration.t;
|
||||||
start_date: Timestamp.t;
|
start_date: Timestamp.t;
|
||||||
end_date: Timestamp.t;
|
end_date: Timestamp.t;
|
||||||
wad_fee: Amount.t;
|
wad_fee: Amount.t;
|
||||||
|
|
@ -829,7 +829,7 @@ module ExchangePartnerSetupRequest = struct
|
||||||
|> mem "partner_base_url" Jsont.string ~enc:partner_base_url
|
|> mem "partner_base_url" Jsont.string ~enc:partner_base_url
|
||||||
|> mem "partner_pub" EddsaPublicKey.jsont ~enc:partner_pub
|
|> mem "partner_pub" EddsaPublicKey.jsont ~enc:partner_pub
|
||||||
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|
||||||
|> mem "master_sig" PartnerConfigurationPS.jsont ~enc:master_sig
|
|> mem "master_sig" PartnerConfiguration.jsont ~enc:master_sig
|
||||||
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
||||||
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
||||||
|> mem "wad_fee" Amount.jsont ~enc:wad_fee
|
|> mem "wad_fee" Amount.jsont ~enc:wad_fee
|
||||||
|
|
@ -846,7 +846,7 @@ module ExchangePartnerListEntry = struct
|
||||||
wad_frequency: RelativeTime.t;
|
wad_frequency: RelativeTime.t;
|
||||||
start_date: Timestamp.t;
|
start_date: Timestamp.t;
|
||||||
end_date: Timestamp.t;
|
end_date: Timestamp.t;
|
||||||
master_sig: WadPartnerSignaturePS.t;
|
master_sig: WadPartnerSignature.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -876,7 +876,7 @@ module ExchangePartnerListEntry = struct
|
||||||
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|
||||||
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
||||||
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
||||||
|> mem "master_sig" WadPartnerSignaturePS.jsont ~enc:master_sig
|
|> mem "master_sig" WadPartnerSignature.jsont ~enc:master_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -886,7 +886,7 @@ module AggregateTransferFee = struct
|
||||||
closing_fee: Amount.t;
|
closing_fee: Amount.t;
|
||||||
start_date: Timestamp.t;
|
start_date: Timestamp.t;
|
||||||
end_date: Timestamp.t;
|
end_date: Timestamp.t;
|
||||||
sig_: MasterWireFeePS.t;
|
sig_: MasterWireFee.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -903,14 +903,14 @@ module AggregateTransferFee = struct
|
||||||
|> mem "closing_fee" Amount.jsont ~enc:closing_fee
|
|> mem "closing_fee" Amount.jsont ~enc:closing_fee
|
||||||
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
|> mem "start_date" Timestamp.jsont ~enc:start_date
|
||||||
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
|> mem "end_date" Timestamp.jsont ~enc:end_date
|
||||||
|> mem "sig" MasterWireFeePS.jsont ~enc:sig_
|
|> mem "sig" MasterWireFee.jsont ~enc:sig_
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
module AuditorDenominationKey = struct
|
module AuditorDenominationKey = struct
|
||||||
type t = {
|
type t = {
|
||||||
denom_pub_h: HashCode.t;
|
denom_pub_h: HashCode.t;
|
||||||
auditor_sig: ExchangeKeyValidityPS.t;
|
auditor_sig: ExchangeKeyValidity.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -919,7 +919,7 @@ module AuditorDenominationKey = struct
|
||||||
let auditor_sig v = v.auditor_sig in
|
let auditor_sig v = v.auditor_sig in
|
||||||
map ~kind:"AuditorDenominationKey" make
|
map ~kind:"AuditorDenominationKey" make
|
||||||
|> mem "denom_pub_h" HashCode.jsont ~enc:denom_pub_h
|
|> mem "denom_pub_h" HashCode.jsont ~enc:denom_pub_h
|
||||||
|> mem "auditor_sig" ExchangeKeyValidityPS.jsont ~enc:auditor_sig
|
|> mem "auditor_sig" ExchangeKeyValidity.jsont ~enc:auditor_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -955,7 +955,7 @@ module SignKey = struct
|
||||||
stamp_start: Timestamp.t;
|
stamp_start: Timestamp.t;
|
||||||
stamp_expire: Timestamp.t;
|
stamp_expire: Timestamp.t;
|
||||||
stamp_end: Timestamp.t;
|
stamp_end: Timestamp.t;
|
||||||
master_sig: ExchangeSigningKeyValidityPS.t;
|
master_sig: ExchangeSigningKeyValidity.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
let jsont =
|
let jsont =
|
||||||
|
|
@ -972,7 +972,7 @@ module SignKey = struct
|
||||||
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
||||||
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|
||||||
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|
||||||
|> mem "master_sig" ExchangeSigningKeyValidityPS.jsont ~enc:master_sig
|
|> mem "master_sig" ExchangeSigningKeyValidity.jsont ~enc:master_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -991,7 +991,7 @@ module RsaDenom = struct
|
||||||
(* correspond to: ({ rsa_pub: RsaPublicKey;} & DenomCommon) *)
|
(* correspond to: ({ rsa_pub: RsaPublicKey;} & DenomCommon) *)
|
||||||
type t = {
|
type t = {
|
||||||
rsa_pub: RsaPublicKey.t;
|
rsa_pub: RsaPublicKey.t;
|
||||||
master_sig: DenominationKeyValidityPS.t;
|
master_sig: DenominationKeyValidity.t;
|
||||||
stamp_start: Timestamp.t;
|
stamp_start: Timestamp.t;
|
||||||
stamp_expire_withdraw: Timestamp.t;
|
stamp_expire_withdraw: Timestamp.t;
|
||||||
stamp_expire_deposit: Timestamp.t;
|
stamp_expire_deposit: Timestamp.t;
|
||||||
|
|
@ -1021,7 +1021,7 @@ module RsaDenom = struct
|
||||||
let lost v = v.lost in
|
let lost v = v.lost in
|
||||||
map ~kind:"RsaDenom" make
|
map ~kind:"RsaDenom" make
|
||||||
|> mem "rsa_pub" RsaPublicKey.jsont ~enc:rsa_pub
|
|> mem "rsa_pub" RsaPublicKey.jsont ~enc:rsa_pub
|
||||||
|> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig
|
|> mem "master_sig" DenominationKeyValidity.jsont ~enc:master_sig
|
||||||
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|
||||||
|> mem "stamp_expire_withdraw" Timestamp.jsont ~enc:stamp_expire_withdraw
|
|> mem "stamp_expire_withdraw" Timestamp.jsont ~enc:stamp_expire_withdraw
|
||||||
|> mem "stamp_expire_deposit" Timestamp.jsont ~enc:stamp_expire_deposit
|
|> mem "stamp_expire_deposit" Timestamp.jsont ~enc:stamp_expire_deposit
|
||||||
|
|
@ -1173,7 +1173,7 @@ module ExchangeWireAccount = struct
|
||||||
conversion_url: string option;
|
conversion_url: string option;
|
||||||
credit_restrictions: AccountRestriction.t list;
|
credit_restrictions: AccountRestriction.t list;
|
||||||
debit_restrictions: AccountRestriction.t list;
|
debit_restrictions: AccountRestriction.t list;
|
||||||
master_sig: MasterWireDetailsPS.t;
|
master_sig: MasterWireDetails.t;
|
||||||
bank_label: string option;
|
bank_label: string option;
|
||||||
priority: int option;
|
priority: int option;
|
||||||
}
|
}
|
||||||
|
|
@ -1207,7 +1207,7 @@ module ExchangeWireAccount = struct
|
||||||
|> mem "debit_restrictions"
|
|> mem "debit_restrictions"
|
||||||
(Jsont.list AccountRestriction.jsont)
|
(Jsont.list AccountRestriction.jsont)
|
||||||
~enc:debit_restrictions
|
~enc:debit_restrictions
|
||||||
|> mem "master_sig" MasterWireDetailsPS.jsont ~enc:master_sig
|
|> mem "master_sig" MasterWireDetails.jsont ~enc:master_sig
|
||||||
|> opt_mem "bank_label" Jsont.string ~enc:bank_label
|
|> opt_mem "bank_label" Jsont.string ~enc:bank_label
|
||||||
|> opt_mem "priority" Jsont.int ~enc:priority
|
|> opt_mem "priority" Jsont.int ~enc:priority
|
||||||
|> finish
|
|> finish
|
||||||
|
|
@ -1264,7 +1264,7 @@ module ExchangeKeysResponse = struct
|
||||||
contatentation of all of the master_sigs (in reverse
|
contatentation of all of the master_sigs (in reverse
|
||||||
chronological order by group) in the arrays under
|
chronological order by group) in the arrays under
|
||||||
"denominations" *)
|
"denominations" *)
|
||||||
exchange_sig: ExchangeKeySetPS.t;
|
exchange_sig: ExchangeKeySet.t;
|
||||||
exchange_pub: EddsaPublicKey.t;
|
exchange_pub: EddsaPublicKey.t;
|
||||||
recoup: RecoupDenoms.t list;
|
recoup: RecoupDenoms.t list;
|
||||||
global_fees: GlobalFees.t list;
|
global_fees: GlobalFees.t list;
|
||||||
|
|
@ -1390,7 +1390,7 @@ module ExchangeKeysResponse = struct
|
||||||
(Jsont.list ZeroLimitedOperation.jsont)
|
(Jsont.list ZeroLimitedOperation.jsont)
|
||||||
~enc:zero_limits
|
~enc:zero_limits
|
||||||
|> mem "denominations" (Jsont.list DenomGroup.jsont) ~enc:denominations
|
|> mem "denominations" (Jsont.list DenomGroup.jsont) ~enc:denominations
|
||||||
|> mem "exchange_sig" ExchangeKeySetPS.jsont ~enc:exchange_sig
|
|> mem "exchange_sig" ExchangeKeySet.jsont ~enc:exchange_sig
|
||||||
|> mem "exchange_pub" EddsaPublicKey.jsont ~enc:exchange_pub
|
|> mem "exchange_pub" EddsaPublicKey.jsont ~enc:exchange_pub
|
||||||
|> mem "recoup" (Jsont.list RecoupDenoms.jsont) ~enc:recoup
|
|> mem "recoup" (Jsont.list RecoupDenoms.jsont) ~enc:recoup
|
||||||
|> mem "global_fees" (Jsont.list GlobalFees.jsont) ~enc:global_fees
|
|> mem "global_fees" (Jsont.list GlobalFees.jsont) ~enc:global_fees
|
||||||
|
|
|
||||||
124
src/bin_sig.ml
124
src/bin_sig.ml
|
|
@ -75,7 +75,7 @@ end = struct
|
||||||
octets
|
octets
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenominationKeyAnnouncementPS = struct
|
module DenominationKeyAnnouncement = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* TODO taler_signatures purpose
|
(* TODO taler_signatures purpose
|
||||||
we use TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY instead here *)
|
we use TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY instead here *)
|
||||||
|
|
@ -107,7 +107,7 @@ module DenominationKeyAnnouncementPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module SigningKeyAnnouncementPS = struct
|
module SigningKeyAnnouncement = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_SM_SIGNING_KEY *)
|
(* purpose.purpose = TALER_SIGNATURE_SM_SIGNING_KEY *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -132,7 +132,7 @@ module SigningKeyAnnouncementPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenominationKeyValidityPS = struct
|
module DenominationKeyValidity = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -196,7 +196,7 @@ module DenominationKeyValidityPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module ExchangeSigningKeyValidityPS = struct
|
module ExchangeSigningKeyValidity = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -224,7 +224,7 @@ module ExchangeSigningKeyValidityPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterDenominationKeyRevocationPS = struct
|
module MasterDenominationKeyRevocation = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED. *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED. *)
|
||||||
type r = { h_denom_pub: DenominationHash.t }
|
type r = { h_denom_pub: DenominationHash.t }
|
||||||
|
|
@ -243,7 +243,7 @@ module MasterDenominationKeyRevocationPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterSigningKeyRevocationPS = struct
|
module MasterSigningKeyRevocation = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
|
||||||
type r = { exchange_pub: ExchangePublicKeyP.t }
|
type r = { exchange_pub: ExchangePublicKeyP.t }
|
||||||
|
|
@ -262,7 +262,7 @@ module MasterSigningKeyRevocationPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterAddAuditorPS = struct
|
module MasterAddAuditor = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -287,7 +287,7 @@ module MasterAddAuditorPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterDelAuditorPS = struct
|
module MasterDelAuditor = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_AUDITOR *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_AUDITOR *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -309,7 +309,7 @@ module MasterDelAuditorPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module GlobalFeesPS = struct
|
module GlobalFees = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_GLOBAL_FEES *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_GLOBAL_FEES *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -372,7 +372,7 @@ module GlobalFeesPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterWireDetailsPS = struct
|
module MasterWireDetails = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -411,7 +411,7 @@ module MasterWireDetailsPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterAddWirePS = struct
|
module MasterAddWire = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_WIRE *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_WIRE *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -454,7 +454,7 @@ module MasterAddWirePS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterDelWirePS = struct
|
module MasterDelWire = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_WIRE *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_WIRE *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -476,7 +476,7 @@ module MasterDelWirePS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterDrainProfitPS = struct
|
module MasterDrainProfit = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_DRAIN_PROFITS *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_DRAIN_PROFITS *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -505,7 +505,7 @@ module MasterDrainProfitPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterAmlOfficerStatusPS = struct
|
module MasterAmlOfficerStatus = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_AML_KEY *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_AML_KEY *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -532,7 +532,7 @@ module MasterAmlOfficerStatusPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module PartnerConfigurationPS = struct
|
module PartnerConfiguration = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* TODO purpose
|
(* TODO purpose
|
||||||
this purpose is used 2 times!? *)
|
this purpose is used 2 times!? *)
|
||||||
|
|
@ -574,7 +574,7 @@ module PartnerConfigurationPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module WadPartnerSignaturePS = struct
|
module WadPartnerSignature = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARTNER_DETAILS *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARTNER_DETAILS *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -622,7 +622,7 @@ module WadPartnerSignaturePS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module MasterWireFeePS = struct
|
module MasterWireFee = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -652,7 +652,7 @@ module MasterWireFeePS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module ExchangeKeyValidityPS = struct
|
module ExchangeKeyValidity = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS *)
|
(* purpose.purpose = TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -719,7 +719,7 @@ module ExchangeKeyValidityPS = struct
|
||||||
include MK (R)
|
include MK (R)
|
||||||
end
|
end
|
||||||
|
|
||||||
module ExchangeKeySetPS = struct
|
module ExchangeKeySet = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *)
|
||||||
type r = {
|
type r = {
|
||||||
|
|
@ -743,7 +743,7 @@ end
|
||||||
|
|
||||||
(* ### BIN IMPL END ### *)
|
(* ### BIN IMPL END ### *)
|
||||||
|
|
||||||
module WithdrawRequestPS = struct
|
module WithdrawRequest = struct
|
||||||
(* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
(* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
||||||
type t = {
|
type t = {
|
||||||
amount: Amount.t;
|
amount: Amount.t;
|
||||||
|
|
@ -770,7 +770,7 @@ module WithdrawRequestPS = struct
|
||||||
|> sealr
|
|> sealr
|
||||||
end
|
end
|
||||||
|
|
||||||
module WithdrawConfirmationPS = struct
|
module WithdrawConfirmation = struct
|
||||||
(* Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_WITHDRAW.
|
(* Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_WITHDRAW.
|
||||||
Signed by a `struct TALER_ExchangePrivateKeyP` using EdDSA. *)
|
Signed by a `struct TALER_ExchangePrivateKeyP` using EdDSA. *)
|
||||||
type t = {
|
type t = {
|
||||||
|
|
@ -792,7 +792,7 @@ module WithdrawConfirmationPS = struct
|
||||||
|> sealr
|
|> sealr
|
||||||
end
|
end
|
||||||
|
|
||||||
module SingleWithdrawRequestPS = struct
|
module SingleWithdrawRequest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
||||||
type t = {
|
type t = {
|
||||||
amount_with_fee: AmountNBO.t;
|
amount_with_fee: AmountNBO.t;
|
||||||
|
|
@ -801,7 +801,7 @@ module SingleWithdrawRequestPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module DepositRequestPS = struct
|
module DepositRequest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_DEPOSIT *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_DEPOSIT *)
|
||||||
type t = {
|
type t = {
|
||||||
h_contract_terms: PrivateContractHash.t;
|
h_contract_terms: PrivateContractHash.t;
|
||||||
|
|
@ -818,7 +818,7 @@ module DepositRequestPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module DepositConfirmationPS = struct
|
module DepositConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT *)
|
||||||
type t = {
|
type t = {
|
||||||
h_contract_terms: PrivateContractHash.t;
|
h_contract_terms: PrivateContractHash.t;
|
||||||
|
|
@ -832,7 +832,7 @@ module DepositConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RefreshMeltCoinAffirmationPS = struct
|
module RefreshMeltCoinAffirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *)
|
||||||
type t = {
|
type t = {
|
||||||
session_hash: RefreshCommitmentP.t;
|
session_hash: RefreshCommitmentP.t;
|
||||||
|
|
@ -843,7 +843,7 @@ module RefreshMeltCoinAffirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RefreshMeltConfirmationPS = struct
|
module RefreshMeltConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT *)
|
||||||
type t = {
|
type t = {
|
||||||
session_hash: RefreshCommitmentP.t;
|
session_hash: RefreshCommitmentP.t;
|
||||||
|
|
@ -851,7 +851,7 @@ module RefreshMeltConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module DepositTrackPS = struct
|
module DepositTrack = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *)
|
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *)
|
||||||
type t = {
|
type t = {
|
||||||
h_contract_terms: PrivateContractHash.t;
|
h_contract_terms: PrivateContractHash.t;
|
||||||
|
|
@ -870,7 +870,7 @@ module WireDepositDetailP = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module WireDepositDataPS = struct
|
module WireDepositData = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT *)
|
||||||
type t = {
|
type t = {
|
||||||
total: AmountNBO.t;
|
total: AmountNBO.t;
|
||||||
|
|
@ -881,17 +881,17 @@ module WireDepositDataPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PaymentResponsePS = struct
|
module PaymentResponse = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_PAYMENT_OK *)
|
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_PAYMENT_OK *)
|
||||||
type t = { h_contract_terms: PrivateContractHash.t }
|
type t = { h_contract_terms: PrivateContractHash.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module ContractPS = struct
|
module Contract = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_CONTRACT *)
|
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_CONTRACT *)
|
||||||
type t = { h_contract_terms: PrivateContractHash.t }
|
type t = { h_contract_terms: PrivateContractHash.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module ConfirmWirePS = struct
|
module ConfirmWire = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE *)
|
||||||
type t = {
|
type t = {
|
||||||
h_wire: MerchantWireHash.t;
|
h_wire: MerchantWireHash.t;
|
||||||
|
|
@ -903,7 +903,7 @@ module ConfirmWirePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RefundConfirmationPS = struct
|
module RefundConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND *)
|
||||||
type t = {
|
type t = {
|
||||||
h_contract_terms: PrivateContractHash.t;
|
h_contract_terms: PrivateContractHash.t;
|
||||||
|
|
@ -924,7 +924,7 @@ module DepositTrackPS2 = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RefundRequestPS = struct
|
module RefundRequest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND *)
|
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND *)
|
||||||
type t = {
|
type t = {
|
||||||
h_contract_terms: PrivateContractHash.t;
|
h_contract_terms: PrivateContractHash.t;
|
||||||
|
|
@ -935,13 +935,13 @@ module RefundRequestPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module MerchantRefundConfirmationPS = struct
|
module MerchantRefundConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND_OK *)
|
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND_OK *)
|
||||||
(* Hash of the order ID (a string), hashed without the 0-termination. *)
|
(* Hash of the order ID (a string), hashed without the 0-termination. *)
|
||||||
type t = { h_order_id: Hash_64_cstr.t }
|
type t = { h_order_id: Hash_64_cstr.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module RecoupRequestPS = struct
|
module RecoupRequest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_RECOUP or TALER_SIGNATURE_WALLET_COIN_RECOUP_REFRESH *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_RECOUP or TALER_SIGNATURE_WALLET_COIN_RECOUP_REFRESH *)
|
||||||
type t = {
|
type t = {
|
||||||
h_denom_pub: DenominationHash.t;
|
h_denom_pub: DenominationHash.t;
|
||||||
|
|
@ -949,7 +949,7 @@ module RecoupRequestPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RecoupRefreshConfirmationPS = struct
|
module RecoupRefreshConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP_REFRESH *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP_REFRESH *)
|
||||||
type t = {
|
type t = {
|
||||||
timestamp: TimeAbsoluteNBO.t;
|
timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -959,7 +959,7 @@ module RecoupRefreshConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RecoupConfirmationPS = struct
|
module RecoupConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP *)
|
||||||
type t = {
|
type t = {
|
||||||
timestamp: TimeAbsoluteNBO.t;
|
timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -969,7 +969,7 @@ module RecoupConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenominationUnknownAffirmationPS = struct
|
module DenominationUnknownAffirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN *)
|
||||||
type t = {
|
type t = {
|
||||||
timestamp: TimeAbsoluteNBO.t;
|
timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -977,7 +977,7 @@ module DenominationUnknownAffirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module DenominationExpiredAffirmationPS = struct
|
module DenominationExpiredAffirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_GENERIC_DENOMINATIN_EXPIRED *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_GENERIC_DENOMINATIN_EXPIRED *)
|
||||||
type t = {
|
type t = {
|
||||||
timestamp: TimeAbsoluteNBO.t;
|
timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -986,7 +986,7 @@ module DenominationExpiredAffirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveCloseConfirmationPS = struct
|
module ReserveCloseConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED *)
|
||||||
type t = {
|
type t = {
|
||||||
timestamp: TimeAbsoluteNBO.t;
|
timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -996,7 +996,7 @@ module ReserveCloseConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module CoinLinkSignaturePS = struct
|
module CoinLinkSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
|
||||||
type t = {
|
type t = {
|
||||||
h_denom_pub: DenominationHash.t;
|
h_denom_pub: DenominationHash.t;
|
||||||
|
|
@ -1006,17 +1006,17 @@ module CoinLinkSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module RefreshNonceSignaturePS = struct
|
module RefreshNonceSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
|
||||||
type t = { nonce: PublicRefreshCoinNonceP.t }
|
type t = { nonce: PublicRefreshCoinNonceP.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveStatusRequestSignaturePS = struct
|
module ReserveStatusRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_RESERVE_STATUS_REQUEST *)
|
(* purpose.purpose = TALER_SIGNATURE_RESERVE_STATUS_REQUEST *)
|
||||||
type t = { request_timestamp: TimeAbsoluteNBO.t }
|
type t = { request_timestamp: TimeAbsoluteNBO.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveHistoryRequestSignaturePS = struct
|
module ReserveHistoryRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_RESERVE_HISTORY_REQUEST *)
|
(* purpose.purpose = TALER_SIGNATURE_RESERVE_HISTORY_REQUEST *)
|
||||||
type t = {
|
type t = {
|
||||||
history_fee: AmountNBO.t;
|
history_fee: AmountNBO.t;
|
||||||
|
|
@ -1024,12 +1024,12 @@ module ReserveHistoryRequestSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseStatusRequestSignaturePS = struct
|
module PurseStatusRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_REQUEST *)
|
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_REQUEST *)
|
||||||
type t = unit
|
type t = unit
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseStatusResponseSignaturePS = struct
|
module PurseStatusResponseSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_RESPONSE *)
|
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_RESPONSE *)
|
||||||
type t = {
|
type t = {
|
||||||
total_purse_amount: AmountNBO.t;
|
total_purse_amount: AmountNBO.t;
|
||||||
|
|
@ -1041,12 +1041,12 @@ module PurseStatusResponseSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveCloseRequestSignaturePS = struct
|
module ReserveCloseRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
|
||||||
type t = unit
|
type t = unit
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseRequestSignaturePS = struct
|
module PurseRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_CREATE *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_CREATE *)
|
||||||
type t = {
|
type t = {
|
||||||
purse_expiration: TimeAbsoluteNBO.t;
|
purse_expiration: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -1056,7 +1056,7 @@ module PurseRequestSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseDepositSignaturePS = struct
|
module PurseDepositSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT *)
|
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT *)
|
||||||
type t = {
|
type t = {
|
||||||
coin_contribution: AmountNBO.t;
|
coin_contribution: AmountNBO.t;
|
||||||
|
|
@ -1075,7 +1075,7 @@ module PurseDepositSignaturePS2 = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseDepositConfirmedSignaturePS = struct
|
module PurseDepositConfirmedSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT_CONFIRMED *)
|
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT_CONFIRMED *)
|
||||||
type t = {
|
type t = {
|
||||||
total_purse_amount: AmountNBO.t;
|
total_purse_amount: AmountNBO.t;
|
||||||
|
|
@ -1086,7 +1086,7 @@ module PurseDepositConfirmedSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseMergeSignaturePS = struct
|
module PurseMergeSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_MERGE *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_MERGE *)
|
||||||
type t = {
|
type t = {
|
||||||
merge_timestamp: TimeAbsoluteNBO.t;
|
merge_timestamp: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -1094,7 +1094,7 @@ module PurseMergeSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module AccountMergeSignaturePS = struct
|
module AccountMergeSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_MERGE *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_MERGE *)
|
||||||
type t = {
|
type t = {
|
||||||
reserve_pub: ReservePublicKeyP.t;
|
reserve_pub: ReservePublicKeyP.t;
|
||||||
|
|
@ -1107,12 +1107,12 @@ module AccountMergeSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module AccountSetupRequestSignaturePS = struct
|
module AccountSetupRequestSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_SETUP *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_SETUP *)
|
||||||
type t = { threshold: AmountNBO.t }
|
type t = { threshold: AmountNBO.t }
|
||||||
end
|
end
|
||||||
|
|
||||||
module PurseMergeSuccessSignaturePS = struct
|
module PurseMergeSuccessSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_PURSE_MERGE_SUCCESS *)
|
(* purpose.purpose = TALER_SIGNATURE_PURSE_MERGE_SUCCESS *)
|
||||||
type t = {
|
type t = {
|
||||||
reserve_pub: ReservePublicKeyP.t;
|
reserve_pub: ReservePublicKeyP.t;
|
||||||
|
|
@ -1125,7 +1125,7 @@ module PurseMergeSuccessSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module WadDataSignaturePS = struct
|
module WadDataSignature = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WAD_DATA *)
|
(* purpose.purpose = TALER_SIGNATURE_WAD_DATA *)
|
||||||
type t = {
|
type t = {
|
||||||
wad_execution_time: TimeAbsoluteNBO.t;
|
wad_execution_time: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -1135,7 +1135,7 @@ module WadDataSignaturePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module P2PFeesPS = struct
|
module P2PFees = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_P2P_FEES *)
|
(* purpose.purpose = TALER_SIGNATURE_P2P_FEES *)
|
||||||
type t = {
|
type t = {
|
||||||
start_date: TimeAbsoluteNBO.t;
|
start_date: TimeAbsoluteNBO.t;
|
||||||
|
|
@ -1150,7 +1150,7 @@ module P2PFeesPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module CoinPurseRefundConfirmationPS = struct
|
module CoinPurseRefundConfirmation = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_PURSE_REFUND *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_PURSE_REFUND *)
|
||||||
type t = {
|
type t = {
|
||||||
purse_pub: PursePublicKey.t;
|
purse_pub: PursePublicKey.t;
|
||||||
|
|
@ -1160,7 +1160,7 @@ module CoinPurseRefundConfirmationPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module AmlDecisionPS = struct
|
module AmlDecision = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_AML_DECISION *)
|
(* purpose.purpose = TALER_SIGNATURE_AML_DECISION *)
|
||||||
type t = {
|
type t = {
|
||||||
h_justification: Hash_64_cstr.t;
|
h_justification: Hash_64_cstr.t;
|
||||||
|
|
@ -1172,7 +1172,7 @@ module AmlDecisionPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveOpenPS = struct
|
module ReserveOpen = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
|
||||||
type t = {
|
type t = {
|
||||||
reserve_payment: AmountNBO.t;
|
reserve_payment: AmountNBO.t;
|
||||||
|
|
@ -1182,7 +1182,7 @@ module ReserveOpenPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveClosePS = struct
|
module ReserveClose = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
|
||||||
type t = {
|
type t = {
|
||||||
request_timestamp: TimestampNBO.t;
|
request_timestamp: TimestampNBO.t;
|
||||||
|
|
@ -1190,7 +1190,7 @@ module ReserveClosePS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ReserveAttestRequestPS = struct
|
module ReserveAttestRequest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_ATTEST_REQUEST *)
|
(* purpose.purpose = TALER_SIGNATURE_WALLET_ATTEST_REQUEST *)
|
||||||
type t = {
|
type t = {
|
||||||
request_timestamp: TimestampNBO.t;
|
request_timestamp: TimestampNBO.t;
|
||||||
|
|
@ -1198,7 +1198,7 @@ module ReserveAttestRequestPS = struct
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
module ExchangeAttestPS = struct
|
module ExchangeAttest = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS *)
|
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS *)
|
||||||
type t = {
|
type t = {
|
||||||
attest_timestamp: TimestampNBO.t;
|
attest_timestamp: TimestampNBO.t;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ type t = {
|
||||||
fee_refund: Amount.t;
|
fee_refund: Amount.t;
|
||||||
age_mask: int;
|
age_mask: int;
|
||||||
h_pub: Bin_type.DenominationHash.t;
|
h_pub: Bin_type.DenominationHash.t;
|
||||||
master_sig: Bin_sig.DenominationKeyValidityPS.t option;
|
master_sig: Bin_sig.DenominationKeyValidity.t option;
|
||||||
}
|
}
|
||||||
|
|
||||||
let make
|
let make
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ let mk_future_denom ~sm_denom_priv
|
||||||
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
|
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
|
||||||
in
|
in
|
||||||
let denom_secmod_sig =
|
let denom_secmod_sig =
|
||||||
let open Bin_sig.DenominationKeyAnnouncementPS in
|
let open Bin_sig.DenominationKeyAnnouncement in
|
||||||
let h_denom_pub = h_pub in
|
let h_denom_pub = h_pub in
|
||||||
let h_section_name = Bin_type.Hash_64_cstr.hash section_name in
|
let h_section_name = Bin_type.Hash_64_cstr.hash section_name in
|
||||||
let anchor_time = stamp_start in
|
let anchor_time = stamp_start in
|
||||||
|
|
@ -53,7 +53,7 @@ let mk_future_signkey ~sm_signkey_priv
|
||||||
({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } :
|
({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } :
|
||||||
Signkey.t) =
|
Signkey.t) =
|
||||||
let signkey_secmod_sig =
|
let signkey_secmod_sig =
|
||||||
let open Bin_sig.SigningKeyAnnouncementPS in
|
let open Bin_sig.SigningKeyAnnouncement in
|
||||||
let exchange_pub = pub in
|
let exchange_pub = pub in
|
||||||
let anchor_time = stamp_start in
|
let anchor_time = stamp_start in
|
||||||
let duration =
|
let duration =
|
||||||
|
|
@ -112,7 +112,7 @@ let verify_denom_signature ~sm_denom DenomSignature.{ h_denom_pub; master_sig }
|
||||||
is unknown to the exchange."
|
is unknown to the exchange."
|
||||||
| Some denom -> Ok denom
|
| Some denom -> Ok denom
|
||||||
in
|
in
|
||||||
let open Bin_sig.DenominationKeyValidityPS in
|
let open Bin_sig.DenominationKeyValidity in
|
||||||
let r : r =
|
let r : r =
|
||||||
{
|
{
|
||||||
master= Config.master_public_key;
|
master= Config.master_public_key;
|
||||||
|
|
@ -141,7 +141,7 @@ let verify_signkey_signature ~sm_signkey SignKeySignature.{ key; master_sig } =
|
||||||
is unknown to the exchange."
|
is unknown to the exchange."
|
||||||
| Some signkey -> Ok signkey
|
| Some signkey -> Ok signkey
|
||||||
in
|
in
|
||||||
let open Bin_sig.ExchangeSigningKeyValidityPS in
|
let open Bin_sig.ExchangeSigningKeyValidity in
|
||||||
let r : r =
|
let r : r =
|
||||||
{
|
{
|
||||||
start= signkey.stamp_start;
|
start= signkey.stamp_start;
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ let lookup_signing_key =
|
||||||
|
|
||||||
let activate_signing_key =
|
let activate_signing_key =
|
||||||
let insert_signkey =
|
let insert_signkey =
|
||||||
let master_sig = Bin_sig.ExchangeSigningKeyValidityPS.caqti in
|
let master_sig = Bin_sig.ExchangeSigningKeyValidity.caqti in
|
||||||
Caqti_type.(t5 eddsa_public time time time master_sig ->. unit)
|
Caqti_type.(t5 eddsa_public time time time master_sig ->. unit)
|
||||||
"INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \
|
"INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \
|
||||||
expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)"
|
expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)"
|
||||||
|
|
@ -136,7 +136,7 @@ let lookup_denomination_key =
|
||||||
|
|
||||||
let add_denomination_key =
|
let add_denomination_key =
|
||||||
let denomination_insert =
|
let denomination_insert =
|
||||||
let master_sig = Bin_sig.DenominationKeyValidityPS.caqti in
|
let master_sig = Bin_sig.DenominationKeyValidity.caqti in
|
||||||
Caqti_type.(
|
Caqti_type.(
|
||||||
t12 denomination_hash rsa_public master_sig time time time time amount
|
t12 denomination_hash rsa_public master_sig time time time time amount
|
||||||
amount amount amount (t2 amount age_mask)
|
amount amount amount (t2 amount age_mask)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ val get_denoms : t -> Denomination.t list
|
||||||
val add_master_signatures :
|
val add_master_signatures :
|
||||||
(module Pg.CONN) ->
|
(module Pg.CONN) ->
|
||||||
t ->
|
t ->
|
||||||
(Bin_type.DenominationHash.t * Bin_sig.DenominationKeyValidityPS.t) list ->
|
(Bin_type.DenominationHash.t * Bin_sig.DenominationKeyValidity.t) list ->
|
||||||
(unit, string) result
|
(unit, string) result
|
||||||
|
|
||||||
val init : (module Pg.CONN) -> t
|
val init : (module Pg.CONN) -> t
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ val get_signkeys : t -> Signkey.t list
|
||||||
val add_master_signatures :
|
val add_master_signatures :
|
||||||
(module Pg.CONN) ->
|
(module Pg.CONN) ->
|
||||||
t ->
|
t ->
|
||||||
(Crypto.EddsaPublicKey.t * Bin_sig.ExchangeSigningKeyValidityPS.t) list ->
|
(Crypto.EddsaPublicKey.t * Bin_sig.ExchangeSigningKeyValidity.t) list ->
|
||||||
(unit, string) result
|
(unit, string) result
|
||||||
|
|
||||||
val init : (module Pg.CONN) -> t
|
val init : (module Pg.CONN) -> t
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ type t = {
|
||||||
stamp_start: Timestamp.t;
|
stamp_start: Timestamp.t;
|
||||||
stamp_expire: Timestamp.t;
|
stamp_expire: Timestamp.t;
|
||||||
stamp_end: Timestamp.t;
|
stamp_end: Timestamp.t;
|
||||||
master_sig: Bin_sig.ExchangeSigningKeyValidityPS.t option;
|
master_sig: Bin_sig.ExchangeSigningKeyValidity.t option;
|
||||||
}
|
}
|
||||||
|
|
||||||
let make () =
|
let make () =
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ let denom_signature ~master_key
|
||||||
let octets = DenominationKey.to_octets denom_pub in
|
let octets = DenominationKey.to_octets denom_pub in
|
||||||
let h_denom_pub = HashCode.hash octets in
|
let h_denom_pub = HashCode.hash octets in
|
||||||
let master_sig =
|
let master_sig =
|
||||||
let open Bin_sig.DenominationKeyValidityPS in
|
let open Bin_sig.DenominationKeyValidity in
|
||||||
let master = EddsaPrivateKey.(pub_of_priv master_key) in
|
let master = EddsaPrivateKey.(pub_of_priv master_key) in
|
||||||
let denom_hash = DenominationHash.hash octets in
|
let denom_hash = DenominationHash.hash octets in
|
||||||
sign ~key:master_key
|
sign ~key:master_key
|
||||||
|
|
@ -44,7 +44,7 @@ let signkey_signature ~master_key
|
||||||
FutureSignKey.
|
FutureSignKey.
|
||||||
{ key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } =
|
{ key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } =
|
||||||
let master_sig =
|
let master_sig =
|
||||||
let open Bin_sig.ExchangeSigningKeyValidityPS in
|
let open Bin_sig.ExchangeSigningKeyValidity in
|
||||||
sign ~key:master_key
|
sign ~key:master_key
|
||||||
{
|
{
|
||||||
start= stamp_start;
|
start= stamp_start;
|
||||||
|
|
@ -78,7 +78,7 @@ let verify_future_signkey ~sm_signkey_pub
|
||||||
let duration =
|
let duration =
|
||||||
Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn
|
Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn
|
||||||
in
|
in
|
||||||
let open Bin_sig.SigningKeyAnnouncementPS in
|
let open Bin_sig.SigningKeyAnnouncement in
|
||||||
verify ~key:sm_signkey_pub signkey_secmod_sig
|
verify ~key:sm_signkey_pub signkey_secmod_sig
|
||||||
{ exchange_pub; anchor_time; duration }
|
{ exchange_pub; anchor_time; duration }
|
||||||
|
|
||||||
|
|
@ -106,7 +106,7 @@ let verify_future_denom ~sm_denom_pub
|
||||||
let duration_withdraw =
|
let duration_withdraw =
|
||||||
Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn
|
Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn
|
||||||
in
|
in
|
||||||
let open Bin_sig.DenominationKeyAnnouncementPS in
|
let open Bin_sig.DenominationKeyAnnouncement in
|
||||||
verify ~key:sm_denom_pub denom_secmod_sig
|
verify ~key:sm_denom_pub denom_secmod_sig
|
||||||
{ h_denom_pub; h_section_name; anchor_time; duration_withdraw }
|
{ h_denom_pub; h_section_name; anchor_time; duration_withdraw }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue