docs: add uint160 type in address conversion section

docs: add notice for uint conversion before 0.8.0

docs: edit sentence structure + remove 'result in `address payable`'

docs: add keyword 'explicitly' to be more specific for `address payable`

docs: edit notice uint to address conversion change since 0.8.0

Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
This commit is contained in:
CJ42 2022-06-07 18:30:57 +01:00 committed by Matheus Aguiar
parent 48669b4bec
commit e4d3425ad9

View File

@ -188,6 +188,10 @@ Addresses
As described in :ref:`address_literals`, hex literals of the correct size that pass the checksum
test are of ``address`` type. No other literals can be implicitly converted to the ``address`` type.
Explicit conversions from ``bytes20`` or any integer type to ``address`` result in ``address payable``.
Explicit conversions to ``address`` are allowed only from ``bytes20`` and ``uint160``.
An ``address a`` can be converted to ``address payable`` via ``payable(a)``.
An ``address a`` can be converted explicitly to ``address payable`` via ``payable(a)``.
.. note::
Prior to version 0.8.0, it was possible to explicitly convert from any integer type (of any size, signed or unsigned) to ``address`` or ``address payable``.
Starting with in 0.8.0 only conversion from ``uint160`` is allowed.