| 247 | } |
| 248 | |
| 249 | void parseParam(const UniValue& val, std::vector<dev::h160> &h160s) { |
| 250 | if (val.isNull()) { |
| 251 | return; |
| 252 | } |
| 253 | |
| 254 | // Treat a string as an array of length 1 |
| 255 | if (val.isStr()) { |
| 256 | h160s.push_back(parseParamH160(val.get_str())); |
| 257 | return; |
| 258 | } |
| 259 | |
| 260 | if (!val.isArray()) { |
| 261 | throw JSONRPCError(RPC_INVALID_PARAMS, "Expect an array of hex 160 strings"); |
| 262 | } |
| 263 | |
| 264 | auto vals = val.getValues(); |
| 265 | h160s.resize(vals.size()); |
| 266 | |
| 267 | std::transform(vals.begin(), vals.end(), h160s.begin(), [](UniValue val) -> dev::h160 { |
| 268 | return parseParamH160(val); |
| 269 | }); |
| 270 | } |
| 271 | |
| 272 | void parseParam(const UniValue& val, std::set<dev::h160> &h160s) { |
| 273 | std::vector<dev::h160> v; |