Hey guys, I was reading about low-level methods of calling other contract functions and I found the following description of call
method:
This is the recommended method to use when you're just sending Ether via calling the
fallback
function. However it is not the recommend way to call existing functions.
Few reasons why low-level call is not recommended:
- Reverts are not bubbled up
- Type checks are bypassed
- Function existence checks are omitted
Honestly, I don't really understand the points that authors are talking about. Please, can you explain/detalize those arguments why low-level call
for existing functions is not recommended?