6. Unused receive() function will lock Ether in contract
If the intention is for the Ether to be used, the function should call another function, otherwise it should revert
Examples of this issue in the codebase:
6. Unused receive() function will lock Ether in contract
If the intention is for the Ether to be used, the function should call another function, otherwise, it should revert
Examples of this issue in the codebase:
Consider defining in only one contract so that values cannot become out of sync when only one location is updated. If the variable is a local cache of another contract's value, consider making the cache variable internal or private, which will require external users to query the contract with the source of truth, so that callers don't get out of sync.
Example of this issue in the codebase:
factory is seen in
File: contracts\NibblVault.sol (Line 60)
and
File: contracts\ProxyFault.sol (Line 17)
1. NATSPEC IS INCOMPLETE
Examples of this issue in the codebase:
File: contracts\NibblVaultFactory.sol missing
@return
(Line 38)File: contracts\NibblVaultFactory.sol missing
@return
(Line 64)File: contracts\NibblVaultFactory.sol missing
@return
@param _curator
@param _mix
(Line 80)2.
constant
s should be defined rather than using magic numbersExamples of this issue in the codebase:
File: contracts\NibblVault.sol (Line 176)
File: contracts\NibblVault.sol (Line 183)
3. Missing checks for
address(0x0)
when assigning values to address state variablesExamples of this issue in the codebase:
File: contracts\NibblVault.sol (Line 191)
File: contracts\NibblVault.sol (Line 193)
4. Use a more recent version of solidity
Use a solidity version of at least 0.8.12 to get
string.concat()
to be used instead ofabi.encodePacked(,)
Examples of this issue in the codebase:5.
abi.encodePacked()
should not be used with dynamic types when passing the result to a hash function such askeccak256()
Examples of this issue in the codebase:
File: contracts\NibblVaultFactory.sol (Line 70)
File: contracts\NibblVaultFactory.sol (Line 91)
6. Unused
receive()
function will lock Ether in contractIf the intention is for the Ether to be used, the function should call another function, otherwise it should revert Examples of this issue in the codebase:
File: contracts\NibblVaultFactory.sol (Line 183)
File: contracts\NibblVault.sol (Line 585)
6. Unused
receive()
function will lock Ether in contractIf the intention is for the Ether to be used, the function should call another function, otherwise, it should revert Examples of this issue in the codebase:
File: contracts\NibblVaultFactory.sol (Line 183)
File: contracts\NibblVault.sol (Line 585)
7. Constant redefined elsewhere
Consider defining in only one contract so that values cannot become out of sync when only one location is updated. If the variable is a local cache of another contract's value, consider making the cache variable internal or private, which will require external users to query the contract with the source of truth, so that callers don't get out of sync.
Example of this issue in the codebase:
factory
is seen in File: contracts\NibblVault.sol (Line 60) and File: contracts\ProxyFault.sol (Line 17)