diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp index b823c159d..cfa6edae1 100644 --- a/src/rpc/mining.cpp +++ b/src/rpc/mining.cpp @@ -744,6 +744,10 @@ UniValue submitblock(const JSONRPCRequest& request) if (!DecodeHexBlk(block, request.params[0].get_str())) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed"); + if (block.vtx.empty() || !block.vtx[0]->IsCoinBase()) { + throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block does not start with a coinbase"); + } + uint256 hash = block.GetHash(); bool fBlockPresent = false; {