40,000 USDC
View results
Submission Details
Severity: gas

Setting the constructor to `payable`

Summary

You can cut out 10 opcodes in the creation-time EVM bytecode if you declare a constructor payable. Making the constructor payable eliminates the need for an initial check of msg.value == 0 and saves 13 gas on deployment with no security risks.

Vulnerability Details

Code Snippet

File: Escrow.sol
32: constructor(
33: uint256 price,
34: IERC20 tokenContract,
35: address buyer,
36: address seller,
37: address arbiter,
38: uint256 arbiterFee
39: ) {

Impact

Tools Used

Recommendations

Set the constructor to payable

Support

FAQs

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