40,000 USDC
View results
Submission Details
Severity: gas

Constructors can be marked `payable`

Summary

Constructors can be marked payable

Vulnerability Details

Payable functions cost less gas to execute, since the compiler does not have to add extra checks to ensure that a payment wasn't provided. A constructor can safely be marked as payable, since only the deployer would be able to pass funds, and the project itself would not pass any funds.

File: /src/Escrow.sol
32: constructor(
uint256 price,
IERC20 tokenContract,
address buyer,
address seller,
address arbiter,
uint256 arbiterFee
) {

Impact

Save gas

Tools Used

Manual

Recommendations

make the contractor function as payable

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.