From 3dcbb9b6b488f077d4ab7e4296dffbf3aea4a0fb Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Thu, 30 Oct 2014 02:56:33 +0000 Subject: Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock --- src/core_read.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/core_read.cpp') diff --git a/src/core_read.cpp b/src/core_read.cpp index d39bc9a78..42e2f8d20 100644 --- a/src/core_read.cpp +++ b/src/core_read.cpp @@ -4,6 +4,7 @@ #include "core_io.h" +#include "core/block.h" #include "core/transaction.h" #include "script/script.h" #include "serialize.h" @@ -108,6 +109,23 @@ bool DecodeHexTx(CTransaction& tx, const std::string& strHexTx) return true; } +bool DecodeHexBlk(CBlock& block, const std::string& strHexBlk) +{ + if (!IsHex(strHexBlk)) + return false; + + std::vector blockData(ParseHex(strHexBlk)); + CDataStream ssBlock(blockData, SER_NETWORK, PROTOCOL_VERSION); + try { + ssBlock >> block; + } + catch (const std::exception &) { + return false; + } + + return true; +} + uint256 ParseHashUV(const UniValue& v, const string& strName) { string strHex; -- cgit v1.2.3