Omniscia Evergon Labs Audit
NonFungiblePurchaseStorage Code Style Findings
NonFungiblePurchaseStorage Code Style Findings
NFP-01C: Non-Standard Storage Slot Definition
| Type | Severity | Location |
|---|---|---|
| Standard Conformity | ![]() | NonFungiblePurchaseStorage.sol:L9 |
Description:
The referenced declaration will define a storage slot for use by a facet of the system's main EIP-2535 Diamond, however, the way it is declared does not adhere to the latest standards.
Example:
9bytes32 internal constant STORAGE_SLOT = keccak256("Evergonlabs.Tmi-Tokenizer.storage.NonFungiblePurchaseStorage");Recommendation:
We advise the EIP-7201 name-spaced layout approach to be adhered to similarly to OpenZeppelin and other relevant standard libraries, ensuring consistency among the ecosystem's widely utilized libraries and conforming to the latest standards.
Alleviation (71cda4ccfdcfa25fb96a4565f1f8143b350dd246):
The contract has been removed from the codebase as it is deemed redundant, rendering this exhibit inapplicable.
NFP-02C: Unused Library Implementation
| Type | Severity | Location |
|---|---|---|
| Code Style | ![]() | NonFungiblePurchaseStorage.sol:L8-L29 |
Description:
The NonFungiblePurchaseStorage implementation remains unused in the codebase.
Example:
4/**5 * @notice NonFungiblePurchaseStorage6 * @dev TO-DO: Implement when erc721 fractions are needed.7 */8library NonFungiblePurchaseStorage {9 bytes32 internal constant STORAGE_SLOT = keccak256("Evergonlabs.Tmi-Tokenizer.storage.NonFungiblePurchaseStorage");10
11 struct IdInfo {12 // to be written13 address smth;14 }15
16 struct Layout {17 mapping(uint256 campaignId => IdInfo) infoForId;18 }19
20 /**21 * @dev Retrieves a reference to the Layout struct stored at a specified storage slot22 */23 function layout() internal pure returns (Layout storage l) {24 bytes32 slot = STORAGE_SLOT;25 assembly {26 l.slot := slot27 }28 }29}Recommendation:
We advise it to be omitted and placed in a development branch, ensuring that the audited version of the code solely contains production-ready implementations.
Alleviation (71cda4ccfdcfa25fb96a4565f1f8143b350dd246):
The contract has been removed from the codebase per our recommendation, addressing this exhibit.
