Establishing trust in community repositories
type t = {
filename : Conex_utils.path;
digest : Digest.t list;
size : Conex_utils.Uint.t;
val equal : t -> t -> bool

equal a b is true if targets a and b are identical.

val valid_opam_path : t -> bool

valid_path t is true if the filename sticks to opam repository rules: foo/foo.version/opam of foo.version/opam.

pp is a pretty printer for a target.

val of_wire : Wire.s -> ( t, string ) result

of_wire w converts w to a target or error.

val wire_raw : t -> Wire.s

wire_raw t is the raw wire representation of t.