Go to the documentation of this file.
17 #ifndef USGOV_ce0f37979bb3f36a0a0e6be8535da7b8c6bd6728d662a0c6819e31fb2b47c495
18 #define USGOV_ce0f37979bb3f36a0a0e6be8535da7b8c6bd6728d662a0c6819e31fb2b47c495
26 namespace us{
namespace gov {
29 using namespace chrono;
41 virtual void to_stream(ostream&os)
const;
42 virtual string name()
const=0;
44 static evidence* from_stream(
int appid, uint8_t evid, istream& is);
47 virtual bool verify(ostream&os)
const;
49 static void from_stream(
evidence&, istream& is);
virtual void write_pretty(ostream &) const
virtual void hash_data_to_sign(crypto::ec::sigmsg_hasher_t &h) const
Definition: ripemd160.h:38
int app
Definition: evidence.h:55
uint8_t eid
Definition: evidence.h:56
virtual hash_t compute_hash() const =0
crypto::ripemd160 hasher_t
Definition: evidence.h:32
virtual string name() const =0
hasher_t::value_type hash_t
Definition: evidence.h:33
static string formatts(uint64_t ts)
virtual void hash_data(hasher_t &h) const
virtual bool verify(ostream &os) const
evidence(const evidence &)=delete
uint64_t ts
Definition: evidence.h:53
Definition: ripemd160.h:34
static evidence * from_b58(const string &b58)
uint64_t expires
Definition: evidence.h:54
static pair< int, uint8_t > extract_instance_id(istream &is)
evidence(int app, uint8_t eid)
Definition: evidence.h:31
void update_ts(const uint64_t &nsecs_in_future=0)