Cyfrin / 2023-07-escrow

16 stars 12 forks source link

Use assembly to check for `address(0)` #865

Open codehawks-bot opened 1 year ago

codehawks-bot commented 1 year ago

Use assembly to check for address(0)

Severity

Gas Optimization / Informational

Relevant GitHub Links

https://github.com/Cyfrin/2023-07-escrow/tree/main/src/Escrow.sol

Summary

Use assembly to check for address(0)

Vulnerability Details

Saves 6 gas per instance

Instances (4):

File: src/Escrow.sol

40:         if (address(tokenContract) == address(0)) revert Escrow__TokenZeroAddress();

41:         if (buyer == address(0)) revert Escrow__BuyerZeroAddress();

42:         if (seller == address(0)) revert Escrow__SellerZeroAddress();

106:         if (i_arbiter == address(0)) revert Escrow__DisputeRequiresArbiter();

Link to code - https://github.com/Cyfrin/2023-07-escrow/tree/main/src/Escrow.sol

Tools Used

Manual Code Review

Recommendations

Use assembly for address(0) check