~ keep jsont in Types for trivial types
not sure about this
This commit is contained in:
parent
9929a4a324
commit
121d9e896f
2 changed files with 13 additions and 31 deletions
14
src/types.ml
14
src/types.ml
|
|
@ -63,7 +63,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 +87,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 +96,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 +117,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 +138,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 +148,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,6 +159,7 @@ end = struct
|
|||
|
||||
let of_b32 s = B32.decode s
|
||||
let to_b32 t = B32.encode t
|
||||
let jsont = Jsont.of_of_string ~kind:"RsaSignature" of_b32 ~enc:to_b32
|
||||
end
|
||||
|
||||
module HashCode = struct
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue