aboutsummaryrefslogtreecommitdiffstats
path: root/docs/abi-spec.rst
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-02-20 19:19:19 +0800
committerGitHub <noreply@github.com>2018-02-20 19:19:19 +0800
commit29d40ad42af1e7168ec3ea077a2bcfb71c68dc60 (patch)
tree5a04498b7df68fbc0c5ca1355630c3fce8f1c616 /docs/abi-spec.rst
parenta6b52fdc34650c74597c1bcdc5075b6375c62650 (diff)
downloaddexon-solidity-29d40ad42af1e7168ec3ea077a2bcfb71c68dc60.tar.gz
dexon-solidity-29d40ad42af1e7168ec3ea077a2bcfb71c68dc60.tar.zst
dexon-solidity-29d40ad42af1e7168ec3ea077a2bcfb71c68dc60.zip
Clarify padding direction.
Diffstat (limited to 'docs/abi-spec.rst')
-rw-r--r--docs/abi-spec.rst6
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/abi-spec.rst b/docs/abi-spec.rst
index f249bbcd..58b88a07 100644
--- a/docs/abi-spec.rst
+++ b/docs/abi-spec.rst
@@ -155,15 +155,15 @@ on the type of ``X`` being
``enc(X) = enc(enc_utf8(X))``, i.e. ``X`` is utf-8 encoded and this value is interpreted as of ``bytes`` type and encoded further. Note that the length used in this subsequent encoding is the number of bytes of the utf-8 encoded string, not its number of characters.
-- ``uint<M>``: ``enc(X)`` is the big-endian encoding of ``X``, padded on the higher-order (left) side with zero-bytes such that the length is a multiple of 32 bytes.
+- ``uint<M>``: ``enc(X)`` is the big-endian encoding of ``X``, padded on the higher-order (left) side with zero-bytes such that the length is 32 bytes.
- ``address``: as in the ``uint160`` case
-- ``int<M>``: ``enc(X)`` is the big-endian two's complement encoding of ``X``, padded on the higher-order (left) side with ``0xff`` for negative ``X`` and with zero bytes for positive ``X`` such that the length is a multiple of 32 bytes.
+- ``int<M>``: ``enc(X)`` is the big-endian two's complement encoding of ``X``, padded on the higher-order (left) side with ``0xff`` for negative ``X`` and with zero bytes for positive ``X`` such that the length is 32 bytes.
- ``bool``: as in the ``uint8`` case, where ``1`` is used for ``true`` and ``0`` for ``false``
- ``fixed<M>x<N>``: ``enc(X)`` is ``enc(X * 10**N)`` where ``X * 10**N`` is interpreted as a ``int256``.
- ``fixed``: as in the ``fixed128x19`` case
- ``ufixed<M>x<N>``: ``enc(X)`` is ``enc(X * 10**N)`` where ``X * 10**N`` is interpreted as a ``uint256``.
- ``ufixed``: as in the ``ufixed128x19`` case
-- ``bytes<M>``: ``enc(X)`` is the sequence of bytes in ``X`` padded with zero-bytes to a length of 32.
+- ``bytes<M>``: ``enc(X)`` is the sequence of bytes in ``X`` padded with zero-bytes on the _right_ to a length of 32.
Note that for any ``X``, ``len(enc(X))`` is a multiple of 32.