This commit is contained in:
parent
040c9d88ea
commit
445dfaf925
3 changed files with 9 additions and 30 deletions
16
src/api.ml
16
src/api.ml
|
|
@ -4,32 +4,22 @@
|
||||||
|
|
||||||
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 *)
|
||||||
|
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -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