Asegurar que las llamadas externas, si fallan, no continuen consumiendo gas. Ejemplo:
uint llamadasExitosas;
function incrementarLlamadas(address direccion) public {
direccion.call(abi.encodedPacked("algunaFuncion()"));
llamadasExitosas++;
}
No estamos validando si el llamado se ejecutó correctamente, debemos poner la validacion de la siguiente manera:
uint llamadasExitosas;
function incrementarLlamadas(address direccion) public {
(bool resultado, ) = direccion.call(abi.encodedPacked("algunaFuncion()"));
if (!resultado) revert();
if (resultado) llamadasExitosas++;
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.