A smart contract does not need an overflow, reentrancy bug, or broken access-control check to lose money.
Sometimes, the exploit is hidden inside an ordinary division:
uint256 result = amount * rate / SCALE;
Enter fullscreen mode
Exit fullscreen mode











