0

I thought so as it may induces fallback() functions, however, I saw in Synthetix's staking contracts, they use reentrancy guard on so many functions that does not involve ETH at all?

https://github.com/Synthetixio/synthetix/blob/develop/contracts/StakingRewards.sol

frt132
  • 87
  • 5

1 Answers1

0

Any contract that makes external function calls should at least be considered for reentrancy protection, because the external contract could be abused in a malicious way.

For example, if you are working with ERC777 tokens, you have to pay careful attention to your code to protect against reentrancy through the tokensReceived() hook. This was the cause of the $11.7M Agave/Hundred Finance hack.