add protocol_version
This commit is contained in:
parent
040c9d88ea
commit
7694701e19
4 changed files with 12 additions and 34 deletions
21
src/api.ml
21
src/api.ml
|
|
@ -1,35 +1,24 @@
|
||||||
(* TODO
|
(* TODO
|
||||||
|
|
||||||
ppx?
|
ppx?
|
||||||
|
|
||||||
normalized JSON-object
|
normalized JSON-object
|
||||||
for signature of ExchangeKeysResponse.exetensions field
|
for signature of ExchangeKeysResponse.exetensions field
|
||||||
why is this one not defined by a struct?
|
|
||||||
|
|
||||||
how to handle protocol versions:
|
|
||||||
- "@deprecated" fields
|
|
||||||
- "@since protocol xx"
|
|
||||||
|
|
||||||
use of _monotonic_ time
|
|
||||||
|
|
||||||
option: correct use opt_mem or Jsont.option
|
option: correct use opt_mem or Jsont.option
|
||||||
|
|
||||||
better types:
|
better types:
|
||||||
- payto_uri
|
- payto_uri
|
||||||
- uri
|
- uri *)
|
||||||
|
|
||||||
|
let protocol_version = "31"
|
||||||
|
|
||||||
number:
|
|
||||||
- number is "float", but we probably want int everywhere instead
|
|
||||||
- numeric values capped at 2^53 -1 inclusive because json *)
|
|
||||||
open Crypto
|
open Crypto
|
||||||
open Signatures
|
open Signatures
|
||||||
open Jsont.Object
|
|
||||||
module DenominationHash = Hash.DenominationHash
|
module DenominationHash = Hash.DenominationHash
|
||||||
|
|
||||||
let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok
|
let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok
|
||||||
let encode jsont v = Jsont_bytesrw.encode_string jsont v
|
let encode jsont v = Jsont_bytesrw.encode_string jsont v
|
||||||
let decode jsont v = Jsont_bytesrw.decode_string jsont v
|
let decode jsont v = Jsont_bytesrw.decode_string jsont v
|
||||||
|
|
||||||
|
open Jsont.Object
|
||||||
|
|
||||||
module Account_operation = struct
|
module Account_operation = struct
|
||||||
type t =
|
type t =
|
||||||
| Withdraw
|
| Withdraw
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
(* TODO
|
|
||||||
json:
|
|
||||||
"A JSON object is canonicalized by converting it to an ASCII byte array
|
|
||||||
with the algorithm specified in RFC 8785. The resulting bytes are
|
|
||||||
terminated with a single 0-byte and then hashed with SHA512." *)
|
|
||||||
|
|
||||||
open Digestif
|
open Digestif
|
||||||
|
|
||||||
module type S = sig
|
module type S = sig
|
||||||
|
|
@ -99,6 +93,8 @@ module Cstring = struct
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
(* TODO
|
||||||
|
check which hash algorithm to use for each hash type *)
|
||||||
module FullPaytoHash : S = H32
|
module FullPaytoHash : S = H32
|
||||||
module NormalizedPaytoHash : S = H32
|
module NormalizedPaytoHash : S = H32
|
||||||
module DenominationHash : S = H64
|
module DenominationHash : S = H64
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ let denomgroup_of_denomdata
|
||||||
{ denoms; value; fee_withdraw; fee_deposit; fee_refresh; fee_refund }
|
{ denoms; value; fee_withdraw; fee_deposit; fee_refresh; fee_refund }
|
||||||
|
|
||||||
let mk_keys ~db_conn (module Sm : Secmod.S) ~last_issue_date =
|
let mk_keys ~db_conn (module Sm : Secmod.S) ~last_issue_date =
|
||||||
let version = "0" in
|
let version = Api.protocol_version in
|
||||||
let base_url = Config.base_url in
|
let base_url = Config.base_url in
|
||||||
let currency = Config.currency in
|
let currency = Config.currency in
|
||||||
let shopping_url = Config.shopping_url in
|
let shopping_url = Config.shopping_url in
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,7 @@ module Aliases = struct
|
||||||
|
|
||||||
(* - Keys - *)
|
(* - Keys - *)
|
||||||
|
|
||||||
(* TODO keep this?
|
(* some of those are actuall ecdhe, or union of eddsa|ecdhe *)
|
||||||
some of those are actuall ecdhe, or union of eddsa|ecdhe *)
|
|
||||||
open Crypto
|
open Crypto
|
||||||
module PursePublicKey = EddsaPublicKey
|
module PursePublicKey = EddsaPublicKey
|
||||||
module AuditorPublicKeyP = EddsaPublicKey
|
module AuditorPublicKeyP = EddsaPublicKey
|
||||||
|
|
@ -182,9 +181,8 @@ end
|
||||||
|
|
||||||
module DenominationKeyAnnouncement = struct
|
module DenominationKeyAnnouncement = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* TODO taler_signatures purpose
|
(* TODO CS: use purpose TALER_SIGNATURE_SM_CS_DENOMINATION_KEY *)
|
||||||
we use TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY instead here *)
|
(* purpose.purpose = TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY *)
|
||||||
(* purpose.purpose = TALER_SIGNATURE_SM_DENOMINATION_KEY *)
|
|
||||||
type r = {
|
type r = {
|
||||||
h_denom_pub: DenominationHash.t;
|
h_denom_pub: DenominationHash.t;
|
||||||
h_section_name: Hash.Cstring.H64.t;
|
h_section_name: Hash.Cstring.H64.t;
|
||||||
|
|
@ -639,8 +637,6 @@ end
|
||||||
|
|
||||||
module PartnerConfiguration = struct
|
module PartnerConfiguration = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* TODO purpose
|
|
||||||
this purpose is used 2 times!? *)
|
|
||||||
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARNTER_DETAILS *)
|
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARNTER_DETAILS *)
|
||||||
type r = {
|
type r = {
|
||||||
partner_pub: MasterPublicKeyP.t;
|
partner_pub: MasterPublicKeyP.t;
|
||||||
|
|
@ -877,11 +873,8 @@ module WithdrawRequest = struct
|
||||||
end
|
end
|
||||||
|
|
||||||
module WithdrawConfirmation = 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. *)
|
|
||||||
type t = {
|
type t = {
|
||||||
(* TODO TALER doc
|
|
||||||
missing TALER_HashBlindedPlanchetsP*)
|
|
||||||
h_planchets: HashPlanchetsP.t;
|
h_planchets: HashPlanchetsP.t;
|
||||||
noreveal_index: int32;
|
noreveal_index: int32;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue