aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-10-06 22:00:36 +0800
committerchriseth <chris@ethereum.org>2018-07-06 00:22:37 +0800
commit127eaab31294d094a541701180696cc03f89fd5c (patch)
tree166d336f8b4a8c6b2e8650e347a1fb70e5468aad
parentf3e0bf1dd85fef29bf80f2235b5c0c19a6d30f31 (diff)
downloaddexon-solidity-127eaab31294d094a541701180696cc03f89fd5c.tar.gz
dexon-solidity-127eaab31294d094a541701180696cc03f89fd5c.tar.zst
dexon-solidity-127eaab31294d094a541701180696cc03f89fd5c.zip
Add strict encoding mode to the ABI spec
-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 366ca951..d5aa15e2 100644
--- a/docs/abi-spec.rst
+++ b/docs/abi-spec.rst
@@ -556,6 +556,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
========================