Support for forknote (BCN, ...) v2 and v3 Blocks

This commit is contained in:
wallet42
2016-05-21 18:16:47 -05:00
parent e87d0672b0
commit bf202c86c4
6 changed files with 41 additions and 29 deletions

View File

@@ -456,11 +456,17 @@ namespace cryptonote
BEGIN_SERIALIZE()
VARINT_FIELD(major_version)
if(major_version > BLOCK_MAJOR_VERSION_2) return false;
if(major_version > BLOCK_MAJOR_VERSION_3) return false;
VARINT_FIELD(minor_version)
VARINT_FIELD(timestamp)
if (BLOCK_MAJOR_VERSION_1 == major_version)
{
VARINT_FIELD(timestamp)
}
FIELD(prev_id)
FIELD(nonce)
if (BLOCK_MAJOR_VERSION_1 == major_version)
{
FIELD(nonce)
}
END_SERIALIZE()
};
@@ -473,11 +479,11 @@ namespace cryptonote
BEGIN_SERIALIZE_OBJECT()
FIELDS(*static_cast<block_header *>(this))
// if (BLOCK_MAJOR_VERSION_2 <= major_version)
// {
// auto sbb = make_serializable_bytecoin_block(*this, false, false);
// FIELD_N("parent_block", sbb);
// }
if (BLOCK_MAJOR_VERSION_2 <= major_version)
{
auto sbb = make_serializable_bytecoin_block(*this, false, false);
FIELD_N("parent_block", sbb);
}
FIELD(miner_tx)
FIELD(tx_hashes)
END_SERIALIZE()