Why does Synthetixio's staking contract need reentrancy guard?

This is their staking contract, for example, stake() doesn't seem to need reentrancy guard? There's no ETH transaction involved in there. What kind of function could trigger it twice without the reentrancy guard?

yes. you are right. :slight_smile:

I guess it's just a extra layer of "security" but probably just a waste of extra gas