How to Secure Your Smart Contracts: 6 Solidity Vulnerabilities and how to avoid them (Part 1)
Georgios Konstantopoulos
1.8K7

Great article, however, I have one observation.

“Currently, using require(msg.sender.transfer(_value)) is the best way to handle these kinds of situations.”

The require is only necessary if you use send instead of transfer , as transferautomatically throws if it fails. So the best practices are:

msg.sender.transfer(_value);

or

require(msg.sender.send(_value));