Nibbl contest - JohnSmith's results

NFT fractionalization protocol with guaranteed liquidity and price based buyout.

General Information

Platform: Code4rena

Start Date: 21/06/2022

Pot Size: $30,000 USDC

Total HM: 12

Participants: 96

Period: 3 days

Judge: HardlyDifficult

Total Solo HM: 5

Id: 140

League: ETH

Nibbl

Findings Distribution

Researcher Performance

Rank: 70/96

Findings: 1

Award: $28.39

🌟 Selected for report: 0

🚀 Solo Findings: 0

DEFAULT_ADMIN_ROLE is already default admin role for all roles https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Utilities/AccessControlMechanism.sol#L22-25 Those lines are obsolete


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 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L183 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVault.sol#L585 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Basket.sol#L114 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Proxy/ProxyBasket.sol#L56 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Proxy/ProxyVault.sol#L56


Missing checks for address(0x0) when assigning values to address state variables

https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVault.sol#L193 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVault.sol#L191 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVault.sol#L487 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L124 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L132 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L159 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L167


public functions not called by the contract should be declared external instead

https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L69 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L76 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L80 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/NibblVaultFactory.sol#L88 https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Twav/Twav.sol#L44


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 of abi.encodePacked(,)

#0 - mundhrakeshav

2022-06-25T18:14:50Z

DEFAULT_ADMIN_ROLE is already default admin role for all roles https://github.com/code-423n4/2022-06-nibbl/blob/main/contracts/Utilities/AccessControlMechanism.sol#L22-25 Those lines are obsolete

#1 - HardlyDifficult

2022-07-04T17:46:14Z

Good feedback, succinct report.

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter