Merge pull request #10909 from miohtama/patch-3

Small clean up on call stack section
This commit is contained in:
chriseth 2021-02-08 14:49:33 +01:00 committed by GitHub
commit ec62d12319
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -181,13 +181,13 @@ Sending and Receiving Ether
contract. Again, the best practice here is to use a :ref:`"withdraw"
pattern instead of a "send" pattern <withdrawal_pattern>`.
Callstack Depth
===============
Call Stack Depth
================
External function calls can fail any time because they exceed the maximum
call stack of 1024. In such situations, Solidity throws an exception.
call stack size limit of 1024. In such situations, Solidity throws an exception.
Malicious actors might be able to force the call stack to a high value
before they interact with your contract.
before they interact with your contract. Note that, since `Tangerine Whistle <https://eips.ethereum.org/EIPS/eip-608>`_ hardfork, the `63/64 rule <https://eips.ethereum.org/EIPS/eip-150>`_ makes call stack depth attack impractical. Also note that the call stack and the expression stack are unrelated, even though both have a size limit of 1024 stack slots.
Note that ``.send()`` does **not** throw an exception if the call stack is
depleted but rather returns ``false`` in that case. The low-level functions