~ keep jsont in Types for trivial types

not sure about this
This commit is contained in:
swrup 2025-10-17 17:01:54 +02:00
parent 9929a4a324
commit 78b08dcb4e
3 changed files with 19 additions and 36 deletions

View file

@ -30,6 +30,10 @@ module Config_types = struct
end
end
module HashCode = struct
type t = string
end
(* https://docs.taler.net/core/api-common.html#tsref-type-ErrorDetail *)
module ErrorDetail = struct
(* TODO GANA error codes
@ -63,7 +67,11 @@ module RelativeTime = struct
| Forever
end
module Amount = Amount
module Amount = struct
include Amount
let jsont = Jsont.of_of_string ~kind:"Amount" of_string ~enc:to_string
end
(* TODO key format
- check what is the exact format in GNUNET
@ -83,6 +91,7 @@ module EddsaPublicKey = struct
| Ok pub -> Ok pub
let to_b32 pub = pub |> Mirage_crypto_ec.Ed25519.pub_to_octets |> B32.encode
let jsont = Jsont.of_of_string ~kind:"EddsaPublicKey" of_b32 ~enc:to_b32
end
module EddsaSignature : sig
@ -91,6 +100,7 @@ module EddsaSignature : sig
val sign : key:Mirage_crypto_ec.Ed25519.priv -> string -> t
val of_b32 : string -> (t, string) result
val to_b32 : t -> string
val jsont : t Jsont.t
end = struct
(* EdDSA signatures are transmitted as 64-bytes base32
binary-encoded objects with just the R and S values (base32_ binary-only).
@ -111,6 +121,8 @@ end = struct
let s = B32.encode t in
assert (String.length s = 64);
s
let jsont = Jsont.of_of_string ~kind:"EddsaSignature" of_b32 ~enc:to_b32
end
module RsaPublicKey = struct
@ -130,6 +142,8 @@ module RsaPublicKey = struct
let s = Bin.to_string bin v in
let s = B32.encode s in
s
let jsont = Jsont.of_of_string ~kind:"RsaPublicKey" of_b32 ~enc:to_b32
end
module RsaSignature : sig
@ -138,6 +152,7 @@ module RsaSignature : sig
val sign : key:Mirage_crypto_pk.Rsa.priv -> string -> t
val of_b32 : string -> (t, string) result
val to_b32 : t -> string
val jsont : t Jsont.t
end = struct
type t = string
@ -148,11 +163,7 @@ end = struct
let of_b32 s = B32.decode s
let to_b32 t = B32.encode t
end
module HashCode = struct
(* 32-byte value representing a point on Curve25519. *)
type cs25519Point = string
let jsont = Jsont.of_of_string ~kind:"RsaSignature" of_b32 ~enc:to_b32
end
module RsaDenominationKey = struct