aboutsummaryrefslogtreecommitdiffstats
path: root/docs/abi-spec.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/abi-spec.rst')
-rw-r--r--docs/abi-spec.rst19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/abi-spec.rst b/docs/abi-spec.rst
index 29d98645..0361458f 100644
--- a/docs/abi-spec.rst
+++ b/docs/abi-spec.rst
@@ -442,3 +442,22 @@ would result in the JSON:
"outputs": []
}
]
+
+.. _abi_packed_mode:
+
+Non-standard Packed Mode
+========================
+
+Solidity supports a non-standard packed mode where:
+
+- no :ref:`function selector <abi_function_selector>` is encoded,
+- short types are not zero padded and
+- dynamic types are encoded in-place and without the length.
+
+As an example encoding ``uint1, bytes1, uint8, string`` with values ``1, 0x42, 0x2424, "Hello, world!"`` results in ::
+
+ 0x0142242448656c6c6f2c20776f726c6421
+ ^^ uint1(1)
+ ^^ bytes1(0x42)
+ ^^^^ uint8(0x2424)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^ string("Hello, world!") without a length field