From d51cb16ed0f10adb088ffe74b2fdb4131a00cbf9 Mon Sep 17 00:00:00 2001 From: Leonardo Alt Date: Tue, 18 Sep 2018 11:06:33 +0200 Subject: [PATCH] Add a link from ecrecover to address --- docs/units-and-global-variables.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/units-and-global-variables.rst b/docs/units-and-global-variables.rst index 2e1b90a0e..d6ef393e2 100644 --- a/docs/units-and-global-variables.rst +++ b/docs/units-and-global-variables.rst @@ -151,6 +151,11 @@ Mathematical and Cryptographic Functions recover the address associated with the public key from elliptic curve signature or return zero on error (`example usage `_) +.. note:: + Function ``ecrecover`` returns an ``address``, and not an ``address + payable``. See :ref:`address payable
` for conversion, in case you need + to transfer funds to the recovered address. + It might be that you run into Out-of-Gas for ``sha256``, ``ripemd160`` or ``ecrecover`` on a *private blockchain*. The reason for this is that those are implemented as so-called precompiled contracts and these contracts only really exist after they received the first message (although their contract code is hardcoded). Messages to non-existing contracts are more expensive and thus the execution runs into an Out-of-Gas error. A workaround for this problem is to first send e.g. 1 Wei to each of the contracts before you use them in your actual contracts. This is not an issue on the official or test net. .. index:: balance, send, transfer, call, callcode, delegatecall, staticcall