aboutsummaryrefslogtreecommitdiffstats
path: root/docs/abi-spec.rst
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-10-18 01:14:00 +0800
committerGitHub <noreply@github.com>2018-10-18 01:14:00 +0800
commit3d1ca07e9b4b42355aa9be5db5c00048607986d1 (patch)
tree1cffddf0d88ee38e94c4394ce266acc1e5f5f5ad /docs/abi-spec.rst
parent3db1ce0e144b9d35aa894b5e485c0761ab5aa033 (diff)
parent127eaab31294d094a541701180696cc03f89fd5c (diff)
downloaddexon-solidity-3d1ca07e9b4b42355aa9be5db5c00048607986d1.tar.gz
dexon-solidity-3d1ca07e9b4b42355aa9be5db5c00048607986d1.tar.zst
dexon-solidity-3d1ca07e9b4b42355aa9be5db5c00048607986d1.zip
Merge pull request #3047 from ethereum/abi-strict
Add strict encoding mode to the ABI spec
Diffstat (limited to 'docs/abi-spec.rst')
-rw-r--r--docs/abi-spec.rst11
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/abi-spec.rst b/docs/abi-spec.rst
index 2c206dad..0f4a16b6 100644
--- a/docs/abi-spec.rst
+++ b/docs/abi-spec.rst
@@ -590,6 +590,17 @@ would result in the JSON:
.. _abi_packed_mode:
+Strict Encoding Mode
+====================
+
+Strict encoding mode is the mode that leads to exactly the same encoding as defined in the formal specification above.
+This means offsets have to be as small as possible while still not creating overlaps in the data areas and thus no gaps are
+allowed.
+
+Usually, ABI decoders are written in a straigthforward way just following offset pointers, but some decoders
+might enforce strict mode. The Solidity ABI decoder currently does not enforce strict mode, but the encoder
+always creates data in strict mode.
+
Non-standard Packed Mode
========================