From 53b46441f7286b5012a184ecbce0682065b906f8 Mon Sep 17 00:00:00 2001 From: MoneroOcean Date: Tue, 1 May 2018 21:45:33 +0200 Subject: [PATCH] Added Masari support --- src/cryptonote_config.h | 7 ++++--- src/cryptonote_core/cryptonote_basic.h | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index bbd70bf..80aabd8 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -3,7 +3,8 @@ #define CURRENT_TRANSACTION_VERSION 1 enum BLOB_TYPE { - BLOB_TYPE_CRYPTONOTE = 0, - BLOB_TYPE_FORKNOTE1 = 1, - BLOB_TYPE_FORKNOTE2 = 2, + BLOB_TYPE_CRYPTONOTE = 0, + BLOB_TYPE_FORKNOTE1 = 1, + BLOB_TYPE_FORKNOTE2 = 2, + BLOB_TYPE_CRYPTONOTE2 = 3, // Masari }; \ No newline at end of file diff --git a/src/cryptonote_core/cryptonote_basic.h b/src/cryptonote_core/cryptonote_basic.h index 3a2afdb..860e46b 100644 --- a/src/cryptonote_core/cryptonote_basic.h +++ b/src/cryptonote_core/cryptonote_basic.h @@ -165,18 +165,19 @@ namespace cryptonote class transaction: public transaction_prefix { + enum BLOB_TYPE m_blob_type; public: std::vector > signatures; //count signatures always the same as inputs count rct::rctSig rct_signatures; - transaction(); + transaction(enum BLOB_TYPE = BLOB_TYPE_CRYPTONOTE); virtual ~transaction(); void set_null(); BEGIN_SERIALIZE_OBJECT() FIELDS(*static_cast(this)) - if (version == 1) + if (version == 1 && m_blob_type != BLOB_TYPE_CRYPTONOTE2) { ar.tag("signatures"); ar.begin_array(); @@ -234,8 +235,9 @@ namespace cryptonote }; inline - transaction::transaction() + transaction::transaction(enum BLOB_TYPE blob_type) { + m_blob_type = blob_type; set_null(); }