| 91 | } |
| 92 | |
| 93 | CAmount AmountFromValue(const UniValue& value, bool check_range, int decimals) |
| 94 | { |
| 95 | if (!value.isNum() && !value.isStr()) |
| 96 | throw JSONRPCError(RPC_TYPE_ERROR, "Amount is not a number or string"); |
| 97 | CAmount amount; |
| 98 | if (!ParseFixedPoint(value.getValStr(), decimals, &amount)) |
| 99 | throw JSONRPCError(RPC_TYPE_ERROR, "Invalid amount"); |
| 100 | if (amount < 0 || (check_range && !MoneyRange(amount))) |
| 101 | throw JSONRPCError(RPC_TYPE_ERROR, "Amount out of range"); |
| 102 | return amount; |
| 103 | } |
| 104 | |
| 105 | uint256 ParseHashV(const UniValue& v, std::string strName) |
| 106 | { |