diff --git a/src/signatures.ml b/src/signatures.ml new file mode 100644 index 00000000..9db5dbb2 --- /dev/null +++ b/src/signatures.ml @@ -0,0 +1,23 @@ +(* https://docs.taler.net/core/api-common.html#id7 *) + +module Purpose = struct + (* defined in gnunet_crypto_lib.h *) + type t = { + (* This field equals the number of bytes being signed, + namely 'sizeof (struct Data)'. *) + size: Int32.t; (* = uint32_t *) + (* This field is used to express the context in + which the signature is made, ensuring that a + signature cannot be lifted from one part of the protocol + to another. See `src/include/taler/taler_signatures.h` within the + exchange's codebase (git://taler.net/exchange). *) + purpose: Int32.t; (* = uint32_t *) + } +end + +module Data = struct + type t = { + purpose: Purpose.t; + payloads: string list; + } +end