August 2019
Intermediate to advanced
486 pages
13h 52m
English
To call a function of another contract or to call a library function, you can use these low-level call and delegatecall function calls. These functions take an arbitrary number of arguments of any type that Solidity supports. Each of the arguments is padded to 32 bytes (padded with 0 zeros) and concatenated to create payload or transaction data.
The first argument you provide in these calls will be encoded to exactly 4 bytes and will not be padded. These 4 bytes define the signature of a function to be called on the target contract.
While writing the contract, you need to ensure that these two function calls should be avoided. If there is a need for your contract to use these functions, then extra ...