| 561 | } |
| 562 | |
| 563 | std::optional<Json> checkMetadataKeys(Json const& _input) |
| 564 | { |
| 565 | if (_input.is_object()) |
| 566 | { |
| 567 | if (_input.contains("appendCBOR") && !_input["appendCBOR"].is_boolean()) |
| 568 | return formatFatalError(Error::Type::JSONError, "\"settings.metadata.appendCBOR\" must be Boolean"); |
| 569 | if (_input.contains("useLiteralContent") && !_input["useLiteralContent"].is_boolean()) |
| 570 | return formatFatalError(Error::Type::JSONError, "\"settings.metadata.useLiteralContent\" must be Boolean"); |
| 571 | |
| 572 | static std::set<std::string> hashes{"ipfs", "bzzr1", "none"}; |
| 573 | if (_input.contains("bytecodeHash") && !hashes.count(_input["bytecodeHash"].get<std::string>())) |
| 574 | return formatFatalError(Error::Type::JSONError, "\"settings.metadata.bytecodeHash\" must be \"ipfs\", \"bzzr1\" or \"none\""); |
| 575 | } |
| 576 | static std::set<std::string> keys{"appendCBOR", "useLiteralContent", "bytecodeHash"}; |
| 577 | return checkKeys(_input, keys, "settings.metadata"); |
| 578 | } |
| 579 | |
| 580 | std::optional<Json> checkOutputSelection(Json const& _outputSelection) |
| 581 | { |
no test coverage detected