From 659b635b2d8274f870ebe487a73b431a2398b741 Mon Sep 17 00:00:00 2001 From: chriseth Date: Wed, 23 Nov 2016 19:04:50 +0100 Subject: [PATCH] Make sure some keys are present. --- libsolidity/interface/CompilerStack.cpp | 3 +++ solc/CommandLineInterface.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libsolidity/interface/CompilerStack.cpp b/libsolidity/interface/CompilerStack.cpp index 0f8613029..e77836ef6 100644 --- a/libsolidity/interface/CompilerStack.cpp +++ b/libsolidity/interface/CompilerStack.cpp @@ -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 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()); diff --git a/solc/CommandLineInterface.cpp b/solc/CommandLineInterface.cpp index fdfcabb4c..419a1de00 100644 --- a/solc/CommandLineInterface.cpp +++ b/solc/CommandLineInterface.cpp @@ -212,7 +212,7 @@ void CommandLineInterface::handleOnChainMetadata(string const& _contract) string data = m_compiler->onChainMetadata(_contract); if (m_args.count("output-dir")) - createFile(_contract + ".meta", data); + createFile(_contract + "_meta.json", data); else cout << "Metadata: " << endl << data << endl; }