Category: Business Logic
Usage of msg.sender.transfer()
function
Informational Severity
Informational Impact
N/A Likelihood
Description
The pullFees
calls the transfer
function to send the full contract balance of Ether to the msg.sender
account.
Impact
The transfer
function uses a hardcoded amount of GAS
and will fail if GAS
costs increase in the future, so it is no longer recommended for use.
Recommendations
As best practice↗, consider using the msg.sender.call.value(value)("")
function:
(bool success, ) = msg.sender.call.value(amounts[1].sub(feeAmount))("");
require(success, "Transfer failed.");
Remediation
This issue has been acknowledged by Liquid Labs, Inc., and a fix was implemented in commit 06303e34↗.
Liquid Labs, Inc. provided the following response:
This commit uses a call to pull eth fees from the launchpad instead of transfer to prevent out of gas exceptions