Make.Base58val simple_decode : 'a encoding -> string -> 'a optionDecoder for a given kind of data. It returns None when the decoded data does not start with the expected prefix.
val simple_encode : 'a encoding -> 'a -> stringEncoder for a given kind of data.
An extensible sum-type for decoded data: one case per known "prefix". See for instance Hash.Block_hash.Hash or Environment.Ed25519.Public_key_hash.
val register_encoding :
prefix:string ->
length:int ->
to_raw:('a -> string) ->
of_raw:(string -> 'a option) ->
wrap:('a -> data) ->
'a encodingRegister a new encoding. The function might raise Invalid_arg if the provided prefix overlaps with a previously registered prefix. The to_raw and of_raw are the ad-hoc serialisation/deserialisation for the data. The wrap should wrap the deserialised value into the extensible sum-type data (see the generic function decode).
val check_encoded_prefix : 'a encoding -> string -> int -> unitChecks that an encoding has a certain prefix and length.
val decode : string -> data optionGeneric decoder. It returns None when the decoded data does not start with a registered prefix.