aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-08-15 16:40:00 +0800
committerchriseth <chris@ethereum.org>2018-08-16 20:45:50 +0800
commit9a6b447843b26f5b58cdc51f6a046c1b5c5e1b7f (patch)
tree72dea9e64090452aadea69cd0d93237567b12e73
parentf82893450d36d1e2d136b0cbd4449ff955410fb5 (diff)
downloaddexon-solidity-9a6b447843b26f5b58cdc51f6a046c1b5c5e1b7f.tar.gz
dexon-solidity-9a6b447843b26f5b58cdc51f6a046c1b5c5e1b7f.tar.zst
dexon-solidity-9a6b447843b26f5b58cdc51f6a046c1b5c5e1b7f.zip
Clarify constructor arguments.
-rw-r--r--docs/miscellaneous.rst12
1 files changed, 8 insertions, 4 deletions
diff --git a/docs/miscellaneous.rst b/docs/miscellaneous.rst
index c0c7cb1b..7225144a 100644
--- a/docs/miscellaneous.rst
+++ b/docs/miscellaneous.rst
@@ -87,10 +87,14 @@ Solidity always places new objects at the free memory pointer and memory is neve
Layout of Call Data
*******************
-When a Solidity contract is deployed and when it is called from an
-account, the input data is assumed to be in the format in :ref:`the ABI
-specification <ABI>`. The ABI specification requires arguments to be padded to multiples of 32
-bytes. The internal function calls use a different convention.
+The input data for a function call is assumed to be in the format defined by the :ref:`ABI
+specification <ABI>`. Among others, the ABI specification requires arguments to be padded to multiples of 32
+bytes. The internal function calls use a different convention.
+
+Arguments for the constructor of a contract are directly appended at the end of the
+contract's code, also in ABI encoding. The constructor will access them through a hard-coded offset, and
+not by using the ``codesize`` opcode, since this of course changes when appending
+data to the code.
.. index: variable cleanup