From d1b13c0624f93913c08fc2fdd152abef3002d2d2 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Tue, 1 Aug 2017 12:54:59 +0100 Subject: Add warning that low-level call/callcode/delegatecall don't check for existence --- docs/control-structures.rst | 3 +++ 1 file changed, 3 insertions(+) (limited to 'docs') diff --git a/docs/control-structures.rst b/docs/control-structures.rst index a7af69f5..796e9238 100644 --- a/docs/control-structures.rst +++ b/docs/control-structures.rst @@ -393,6 +393,9 @@ When exceptions happen in a sub-call, they "bubble up" (i.e. exceptions are reth and the low-level functions ``call``, ``delegatecall`` and ``callcode`` -- those return ``false`` in case of an exception instead of "bubbling up". +.. warning:: + The low-level ``call``, ``delegatecall`` and ``callcode`` will return success if the calling account is non-existent, as part of the design of EVM. Existence must be checked prior to calling if desired. + Catching exceptions is not yet possible. In the following example, you can see how ``require`` can be used to easily check conditions on inputs -- cgit