diff --git a/doc/release-notes.md b/doc/release-notes.md index 7608585a42..fcd5ae3f3e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,12 +1,13 @@ Bitcoin ABC version 0.20.2 is now available from: This release includes the following features and fixes: - Improved initial block download performance by ~20%. - Improved initial block download performance during pruning. - `bitcoin-qt -resetguisettings` now generates a backup of the former GUI settings. - Removed features that were deprecated in 0.19.x, including `signrawtransaction`, `fundrawtransaction -reserveChangeKey`, parts of `validateaddress`, use of addresses in `createmultisig`, and other miscellaneous behaviors. - Minor logging improvements. + - Introduced `submitheader` RPC for submitting header candidates as chaintips. diff --git a/src/core_io.h b/src/core_io.h index 8e59d5558f..cd2977e17f 100644 --- a/src/core_io.h +++ b/src/core_io.h @@ -1,38 +1,40 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_CORE_IO_H #define BITCOIN_CORE_IO_H #include #include struct Amount; class CBlock; +class CBlockHeader; class CMutableTransaction; class CScript; class CTransaction; class uint256; class UniValue; // core_read.cpp CScript ParseScript(const std::string &s); std::string ScriptToAsmStr(const CScript &script, const bool fAttemptSighashDecode = false); bool DecodeHexTx(CMutableTransaction &tx, const std::string &strHexTx); bool DecodeHexBlk(CBlock &, const std::string &strHexBlk); +bool DecodeHexBlockHeader(CBlockHeader &, const std::string &hex_header); uint256 ParseHashUV(const UniValue &v, const std::string &strName); uint256 ParseHashStr(const std::string &, const std::string &strName); std::vector ParseHexUV(const UniValue &v, const std::string &strName); // core_write.cpp UniValue ValueFromAmount(const Amount &amount); std::string FormatScript(const CScript &script); std::string EncodeHexTx(const CTransaction &tx, const int serializeFlags = 0); void ScriptPubKeyToUniv(const CScript &scriptPubKey, UniValue &out, bool fIncludeHex); void TxToUniv(const CTransaction &tx, const uint256 &hashBlock, UniValue &entry, bool include_hex = true, int serialize_flags = 0); #endif // BITCOIN_CORE_IO_H diff --git a/src/core_read.cpp b/src/core_read.cpp index 7becc526ad..7166cc5b31 100644 --- a/src/core_read.cpp +++ b/src/core_read.cpp @@ -1,252 +1,267 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include #include #include #include