Make sure some keys are present.

This commit is contained in:
chriseth
2016-12-01 16:03:59 +01:00
parent e666f8cda7
commit 659b635b2d
2 changed files with 4 additions and 1 deletions
+3
View File
@@ -670,6 +670,7 @@ string CompilerStack::createOnChainMetadata(Contract const& _contract) const
meta["language"] = "Solidity";
meta["compiler"]["version"] = VersionString;
meta["sources"] = Json::objectValue;
for (auto const& s: m_sources)
{
solAssert(s.second.scanner, "Scanner not available");
@@ -683,12 +684,14 @@ string CompilerStack::createOnChainMetadata(Contract const& _contract) const
meta["settings"]["compilationTarget"][_contract.contract->sourceUnitName()] =
_contract.contract->annotation().canonicalName;
meta["settings"]["remappings"] = Json::arrayValue;
set<string> remappings;
for (auto const& r: m_remappings)
remappings.insert(r.context + ":" + r.prefix + "=" + r.target);
for (auto const& r: remappings)
meta["settings"]["remappings"].append(r);
meta["settings"]["libraries"] = Json::objectValue;
for (auto const& library: m_libraries)
meta["settings"]["libraries"][library.first] = "0x" + toHex(library.second.asBytes());