August 2019
Intermediate to advanced
486 pages
13h 52m
English
The signatures of the call, delegatecall, and staticcall functions have changed in Solidity version 0.5.0 to improve security and provide return values. Prior to Solidity version 0.5.0, these function calls could take an arbitrary number of arguments of any Solidity data type and return only a single bool variable to notify the user about the success of the function call. However, they now accept only the bytes memory argument (also called a payload), and they return two variables—bool success and bytes memory returnData.
The bool success return value is to let the caller know whether the function call succeeded or not. It is recommended to use require(success); only after the low-level calls, to ensure ...