This commit is contained in:
swrup 2026-02-05 21:19:57 +01:00
parent 040c9d88ea
commit 4917624403
3 changed files with 9 additions and 24 deletions

View file

@ -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

View file

@ -1,4 +1,6 @@
(* TODO (* TODO
look into taler exchange implementation for definition of hashs
json: json:
"A JSON object is canonicalized by converting it to an ASCII byte array "A JSON object is canonicalized by converting it to an ASCII byte array
with the algorithm specified in RFC 8785. The resulting bytes are with the algorithm specified in RFC 8785. The resulting bytes are

View file

@ -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;
} }