message: Check transaction count early in submitblock.
  There is no point in even hashing a submitted block which doesn't have
  a coinbase transaction.
  This also results in more useful error reporting on corrupted input.
  Thanks to rawodb for the bug report.
  Github-Pull:
  Rebased-From:
diff: @@ -748,6 +748,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;
  {
  