-type signature_type() :: certificate_timestamp | tree_hash | test. -type entry_type() :: x509 | precert | test. %% @doc The parts of an SPT which is to be signed. -record(spt, { version = 1 :: integer(), signature_type :: signature_type(), timestamp = now :: 'now' | integer(), entry :: plop_entry() }). -type spt() :: #spt{}. -record(plop_entry, { type :: entry_type(), data = <<>> :: binary() }). -type plop_entry() :: #plop_entry{}. %% @doc The parts of an STH which is to be signed. -record(sth, { version = 1 :: integer(), signature_type :: signature_type(), timestamp = now :: 'now' | integer(), tree_size :: integer(), root_hash :: binary() % sha256 }). -type sth() :: #sth{}. -export_type([plop_entry/0, entry_type/0]).