logging.debug("Detected state changes at: "+str(state_change_addresses))
logging.debug("[EXTERNAL_CALLS] Detected state changes at addresses: "+str(state_change_addresses))
if(len(state_change_addresses)):
foraddressinstate_change_addresses:
description="The contract account state is changed after an external call. Consider that the called contract could re-enter the function before this state change takes place. This can lead to business logic vulnerabilities."
issue=Issue(call.node.contract_name,call.node.function_name,address,"State change after external call","Warning",description)
issues.append(issue)
if(len(state_change_addresses)):
foraddressinstate_change_addresses:
description="The contract account state is changed after an external call. Consider that the called contract could re-enter the function before this state change takes place. This can lead to business logic vulnerabilities."
issue=Issue(call.node.contract_name,call.node.function_name,address,"State change after external call","Warning",description)