MCPcopy Create free account
hub / github.com/argotorg/solidity / checkMetadataKeys

Function checkMetadataKeys

libsolidity/interface/StandardCompiler.cpp:563–578  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

561}
562
563std::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
580std::optional<Json> checkOutputSelection(Json const& _outputSelection)
581{

Callers 1

parseInputMethod · 0.85

Calls 4

formatFatalErrorFunction · 0.85
checkKeysFunction · 0.85
containsMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected