Module Make.Signature

type watermark = Mavryk_base.TzPervasives.Signature.V1.watermark =
  1. | Block_header of Chain_id.t
  2. | Endorsement of Chain_id.t
  3. | Generic_operation
  4. | Custom of bytes
type signature = Mavryk_base.TzPervasives.Signature.V1.signature =
  1. | Ed25519 of Ed25519.t
  2. | Secp256k1 of Secp256k1.t
  3. | P256 of P256.t
  4. | Bls of Bls.t
  5. | Unknown of Bytes.t
type prefix =
  1. | Bls_prefix of Bytes.t
include S.SPLIT_SIGNATURE with type Public_key_hash.t = public_key_hash and type Public_key.t = public_key and type watermark := watermark and type prefix := prefix and type t = signature with type t = Mavryk_base.TzPervasives.Signature.V1.t
include S.SIGNATURE with type Public_key_hash.t = public_key_hash with type Public_key.t = public_key with type watermark := watermark with type t = signature with type t = Mavryk_base.TzPervasives.Signature.V1.t
val pp : Format.formatter -> t -> unit
include S.RAW_DATA with type t := t
val to_bytes : t -> bytes
val of_bytes_opt : bytes -> t option
val of_bytes_exn : bytes -> t
include Compare.S with type t := t
val (=) : t -> t -> bool

x = y iff compare x y = 0

val (<>) : t -> t -> bool

x <> y iff compare x y <> 0

val (<) : t -> t -> bool

x < y iff compare x y < 0

val (<=) : t -> t -> bool

x <= y iff compare x y <= 0

val (>=) : t -> t -> bool

x >= y iff compare x y >= 0

val (>) : t -> t -> bool

x > y iff compare x y > 0

val compare : t -> t -> int

compare an alias for the functor parameter's compare function

val equal : t -> t -> bool

equal x y iff compare x y = 0

val max : t -> t -> t

max x y is x if x >= y otherwise it is y

val min : t -> t -> t

min x y is x if x <= y otherwise it is y

include S.B58_DATA with type t := t
val to_b58check : t -> string
val to_short_b58check : t -> string
val of_b58check_exn : string -> t
val of_b58check_opt : string -> t option
type Base58.data +=
  1. | Data of t
val b58check_encoding : t Base58.encoding
include S.ENCODER with type t := t
val encoding : t Data_encoding.t
val rpc_arg : t RPC_arg.t
val zero : t
val check : ?watermark:watermark -> Public_key.t -> t -> bytes -> bool

Check a signature

type splitted = {
  1. prefix : prefix option;
  2. suffix : Bytes.t;
}
val split_signature : t -> splitted
val of_splitted : splitted -> t option
val prefix_encoding : prefix Data_encoding.t
val size : t -> int