diff --git a/src/chain.h b/src/chain.h index 430dad049e..73ec9af00e 100644 --- a/src/chain.h +++ b/src/chain.h @@ -213,6 +213,7 @@ public: uint32_t block_height; uint32_t nBits; uint32_t nNonce; + CProof proof; //! (memory only) Sequential id assigned to distinguish order in which blocks are received. int32_t nSequenceId; @@ -242,6 +243,7 @@ public: block_height = 0; nBits = 0; nNonce = 0; + proof.SetNull(); } CBlockIndex() @@ -259,6 +261,7 @@ public: block_height = block.block_height; nBits = block.nBits; nNonce = block.nNonce; + proof = block.proof; } CDiskBlockPos GetBlockPos() const { @@ -290,6 +293,7 @@ public: block.block_height = block_height; block.nBits = nBits; block.nNonce = nNonce; + block.proof = proof; return block; } @@ -408,8 +412,13 @@ public: READWRITE(hashMerkleRoot); READWRITE(nTime); READWRITE(block_height); - READWRITE(nBits); - READWRITE(nNonce); + // For compatibility with elements 0.14 based chains + if (g_signed_blocks) { + READWRITE(proof); + } else { + READWRITE(nBits); + READWRITE(nNonce); + } } uint256 GetBlockHash() const @@ -422,6 +431,7 @@ public: block.block_height = block_height; block.nBits = nBits; block.nNonce = nNonce; + block.proof = proof; return block.GetHash(); } diff --git a/src/txdb.cpp b/src/txdb.cpp index 60ade6ad92..e4b228c114 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -272,6 +272,7 @@ bool CBlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams, pindexNew->nTime = diskindex.nTime; pindexNew->nBits = diskindex.nBits; pindexNew->nNonce = diskindex.nNonce; + pindexNew->proof = diskindex.proof; pindexNew->nStatus = diskindex.nStatus; pindexNew->nTx = diskindex.nTx;