aboutsummaryrefslogtreecommitdiffstats
path: root/docs/using-the-compiler.rst
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-02-02 21:54:21 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-02-09 07:40:07 +0800
commit6e2cc081ecec5c5c20945b70159d36b9e8286d0a (patch)
treed6fa18ba40c8bd57e2fa1acb18f7a4d14cf440cb /docs/using-the-compiler.rst
parent720cf20855b7695f3c2059c2e1c52e2cb2501995 (diff)
downloaddexon-solidity-6e2cc081ecec5c5c20945b70159d36b9e8286d0a.tar.gz
dexon-solidity-6e2cc081ecec5c5c20945b70159d36b9e8286d0a.tar.zst
dexon-solidity-6e2cc081ecec5c5c20945b70159d36b9e8286d0a.zip
Update sources definition based on the metadata
Diffstat (limited to 'docs/using-the-compiler.rst')
-rw-r--r--docs/using-the-compiler.rst34
1 files changed, 25 insertions, 9 deletions
diff --git a/docs/using-the-compiler.rst b/docs/using-the-compiler.rst
index dcd5e589..57135df8 100644
--- a/docs/using-the-compiler.rst
+++ b/docs/using-the-compiler.rst
@@ -52,17 +52,33 @@ should be backwards compatible if possible.
.. code-block:: none
{
+ // Required
sources:
{
- // the keys here are the "global" names of the source files, imports can use other files via remappings (see below)
- "abc": "contract b{}", // specify source directly
- // (axic) I think 'keccak' on its on is not enough. I would go perhaps with swarm: "0x12.." and ipfs: "Qma..." for simplicity
- // (chriseth) Where the content is stored is a second component, but yes, we could give an indication there.
- "def": {keccak: "0x123..."}, // source has to be retrieved by its hash
- "ghi": {file: "/tmp/path/to/file.sol"}, // file on filesystem
- // (axic) I'm inclined to think the source _must_ be provided in the JSON,
-
- "dir/file.sol": "contract a {}"
+ // The keys here are the "global" names of the source files,
+ // imports can use other files via remappings (see below).
+ "myFile.sol":
+ {
+ // Optional: keccak256 hash of the source file
+ "keccak256": "0x123...",
+ // Required (unless "content" is used, see below): URL(s) to the source file.
+ // URL(s) should be imported in this order and the result checked against the
+ // keccak256 hash (if available). If the hash doesn't match or none of the
+ // URL(s) result in success, an error should be raised.
+ "urls":
+ [
+ "bzzr://56ab...",
+ "ipfs://Qma...",
+ "file:///tmp/path/to/file.sol"
+ ]
+ },
+ "mortal":
+ {
+ // Optional: keccak256 hash of the source file
+ "keccak256": "0x234...",
+ // Required (unless "urls" is used): literal contents of the source file
+ "content": "contract mortal is owned { function kill() { if (msg.sender == owner) selfdestruct(owner); } }"
+ }
},
settings:
{