Open code423n4 opened 2 years ago
G-1 Don't Initialize Variables with Default Value Explicitly initializing a variable with it's default value costs unnecesary gas.
Default variables like bool is defaulted as false when initialize. InfinityOrderBookComplication.sol L#42 [InfinityOrderBookComplication.sol L#108]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=_sumCurrentPrices(manyMakerOrders)%3B-,bool%20_isPriceValid%20%3D%20false%3B,-if%20(makerOrder.isSellOrder
Default unsigned integers is defaulted as 0. InfinityOrderBookComplication.sol L#197&199 InfinityOrderBookComplication.sol L#214&216 [InfinityOrderBookComplication.sol L#244,246,247]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20numCollsMatched%20%3D,j%20%3C%20order1NftsLength%3B%20)
[InfinityOrderBookComplication.sol L#289-291]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20numTokenIdsPerCollMatched%20%3D,l%20%3C%20item1TokensLength%3B%20)
[InfinityOrderBookComplication.sol L#318-320]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20sum%20%3D,i%20%3C%20ordersLength%3B%20)%20%7B
G-2 Use != 0 instead of > 0 for Unsigned Integer Comparison When dealing with unsigned integer types, comparisons with != 0 are cheaper then with > 0.
!= 0
> 0
InfinityExchange.sol L#392
G-1 Don't Initialize Variables with Default Value Explicitly initializing a variable with it's default value costs unnecesary gas.
Default variables like bool is defaulted as false when initialize. InfinityOrderBookComplication.sol L#42 [InfinityOrderBookComplication.sol L#108]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=_sumCurrentPrices(manyMakerOrders)%3B-,bool%20_isPriceValid%20%3D%20false%3B,-if%20(makerOrder.isSellOrder
Default unsigned integers is defaulted as 0. InfinityOrderBookComplication.sol L#197&199 InfinityOrderBookComplication.sol L#214&216 [InfinityOrderBookComplication.sol L#244,246,247]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20numCollsMatched%20%3D,j%20%3C%20order1NftsLength%3B%20)
[InfinityOrderBookComplication.sol L#289-291]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20numTokenIdsPerCollMatched%20%3D,l%20%3C%20item1TokensLength%3B%20)
[InfinityOrderBookComplication.sol L#318-320]https://github.com/code-423n4/2022-06-infinity/blob/main/contracts/core/InfinityOrderBookComplication.sol#:~:text=uint256%20sum%20%3D,i%20%3C%20ordersLength%3B%20)%20%7B
G-2 Use
!= 0
instead of> 0
for Unsigned Integer Comparison When dealing with unsigned integer types, comparisons with!= 0
are cheaper then with> 0
.InfinityExchange.sol L#392