August 2019
Intermediate to advanced
486 pages
13h 52m
English
The syntax for using staticcall is as follows:
<address>.staticcall(bytes memory) returns (bool, bytes memory)
This initiates a low-level staticcall instruction with a given payload or transaction data and returns a Boolean condition along with the return data. Upon failure of the transaction, it returns false. Just like the call instruction, if gas is not specified explicitly, it forwards all of the remaining gas to the target contract. In the contract itself, you can adjust the amount of gas units to forward to target contract.
As we have seen with the call and delegatecall low-level instructions, state modifications in the target contract or in the current contract are allowed. However, with the ...