From efd49718dfbb6c1f329e72026770b07a67348168 Mon Sep 17 00:00:00 2001 From: Determinant Date: Mon, 16 Jul 2018 04:13:57 -0400 Subject: init --- src/type.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/type.h (limited to 'src/type.h') diff --git a/src/type.h b/src/type.h new file mode 100644 index 0000000..4665979 --- /dev/null +++ b/src/type.h @@ -0,0 +1,46 @@ +#ifndef _HOTSTUFF_TYPE_H +#define _HOTSTUFF_TYPE_H + +#include "salticidae/stream.h" +#include "salticidae/type.h" +#include "salticidae/util.h" + +namespace hotstuff { + +using salticidae::uint256_t; +using salticidae::DataStream; +using salticidae::htole; +using salticidae::letoh; +using salticidae::get_hex; +using salticidae::from_hex; +using salticidae::bytearray_t; + +inline std::string get_hex10(const uint256_t &x) { + return get_hex(x).substr(0, 10); +} + +class HotStuffError: public salticidae::SalticidaeError { + public: + template + HotStuffError(Args... args): salticidae::SalticidaeError(args...) {} +}; + +class HotStuffInvalidEntity: public HotStuffError { + public: + template + HotStuffInvalidEntity(Args... args): HotStuffError(args...) {} +}; + +using salticidae::Serializable; + +class Cloneable { + public: + virtual ~Cloneable() = default; + virtual Cloneable *clone() = 0; +}; + +using ReplicaID = uint16_t; + +} + +#endif -- cgit v1.2.3