aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-12-13 23:36:01 +0800
committerchriseth <c@ethdev.com>2016-12-13 23:37:48 +0800
commit56a027bedc88305fe05b09859cbab408d44a0106 (patch)
treec34f60f8dbb32c4fa49fc2324afd027d8ca87271
parent9d60734549f6188884bec278208cab0af9c9735e (diff)
downloaddexon-solidity-56a027bedc88305fe05b09859cbab408d44a0106.tar.gz
dexon-solidity-56a027bedc88305fe05b09859cbab408d44a0106.tar.zst
dexon-solidity-56a027bedc88305fe05b09859cbab408d44a0106.zip
Use multiple URLs for metadata.
-rw-r--r--docs/miscellaneous.rst8
-rw-r--r--libsolidity/interface/CompilerStack.cpp6
2 files changed, 8 insertions, 6 deletions
diff --git a/docs/miscellaneous.rst b/docs/miscellaneous.rst
index 81e39a26..4a9dad87 100644
--- a/docs/miscellaneous.rst
+++ b/docs/miscellaneous.rst
@@ -334,10 +334,10 @@ Comments are of course also not permitted and used here only for explanatory pur
"myFile.sol": {
// Required: keccak256 hash of the source file
"keccak256": "0x123...",
- // Required (unless "content" is used, see below): URL to the
- // source file, protocol is more or less arbitrary, but a Swarm
- // URL is recommended
- "url": "bzzr://56ab..."
+ // Required (unless "content" is used, see below): Sorted URL(s)
+ // to the source file, protocol is more or less arbitrary, but a
+ // Swarm URL is recommended
+ "urls": [ "bzzr://56ab..." ]
},
"mortal": {
// Required: keccak256 hash of the source file
diff --git a/libsolidity/interface/CompilerStack.cpp b/libsolidity/interface/CompilerStack.cpp
index 0b8cecc7..4095844f 100644
--- a/libsolidity/interface/CompilerStack.cpp
+++ b/libsolidity/interface/CompilerStack.cpp
@@ -694,8 +694,10 @@ string CompilerStack::createOnChainMetadata(Contract const& _contract) const
solAssert(s.second.scanner, "Scanner not available");
meta["sources"][s.first]["keccak256"] =
"0x" + toHex(dev::keccak256(s.second.scanner->source()).asBytes());
- meta["sources"][s.first]["url"] =
- "bzzr://" + toHex(dev::swarmHash(s.second.scanner->source()).asBytes());
+ meta["sources"][s.first]["urls"] = Json::arrayValue;
+ meta["sources"][s.first]["urls"].append(
+ "bzzr://" + toHex(dev::swarmHash(s.second.scanner->source()).asBytes())
+ );
}
meta["settings"]["optimizer"]["enabled"] = m_optimize;
meta["settings"]["optimizer"]["runs"] = m_optimizeRuns;