| 103 | } |
| 104 | |
| 105 | uint256 ParseHashV(const UniValue& v, std::string strName) |
| 106 | { |
| 107 | std::string strHex(v.get_str()); |
| 108 | if (64 != strHex.length()) |
| 109 | throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("%s must be of length %d (not %d, for '%s')", strName, 64, strHex.length(), strHex)); |
| 110 | if (!IsHex(strHex)) // Note: IsHex("") is false |
| 111 | throw JSONRPCError(RPC_INVALID_PARAMETER, strName+" must be hexadecimal string (not '"+strHex+"')"); |
| 112 | return uint256S(strHex); |
| 113 | } |
| 114 | uint256 ParseHashO(const UniValue& o, std::string strKey) |
| 115 | { |
| 116 | return ParseHashV(find_value(o, strKey), strKey); |