aboutsummaryrefslogtreecommitdiff
path: root/src/type.h
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2018-07-16 04:13:57 -0400
committerDeterminant <ted.sybil@gmail.com>2018-07-16 04:13:57 -0400
commitefd49718dfbb6c1f329e72026770b07a67348168 (patch)
tree4f29a41480c6ad42ad0fcf2b861c7acc7368b937 /src/type.h
init
Diffstat (limited to 'src/type.h')
-rw-r--r--src/type.h46
1 files changed, 46 insertions, 0 deletions
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<typename... Args>
+ HotStuffError(Args... args): salticidae::SalticidaeError(args...) {}
+};
+
+class HotStuffInvalidEntity: public HotStuffError {
+ public:
+ template<typename... Args>
+ HotStuffInvalidEntity(Args... args): HotStuffError(args...) {}
+};
+
+using salticidae::Serializable;
+
+class Cloneable {
+ public:
+ virtual ~Cloneable() = default;
+ virtual Cloneable *clone() = 0;
+};
+
+using ReplicaID = uint16_t;
+
+}
+
+#endif