Omniscia Evergon Labs Audit

OmnichainSupportStorage Code Style Findings

OmnichainSupportStorage Code Style Findings

OSS-01C: Non-Standard Storage Slot Definition

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:

contracts/dataIndex/omnichain/OmnichainSupportStorage.sol
11/// @dev Storage slot for Omnichain Support layout
12bytes32 internal constant STORAGE_SLOT = keccak256("nexera.dataIndex.storage.OmnichainSupport");

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 (c6b23c23d8bcd8cce85049ad959cbd711a37126b):

The referenced slot definition has been updated to its standardized EIP-7201 representation, addressing this exhibit.

OSS-02C: Redundant Import of Logic Implementation

Description:

The OmnichainSupportStorage contract will import the full OmnichainProxy implementation even though it is utilized as an interface.

Example:

contracts/dataIndex/omnichain/OmnichainSupportStorage.sol
39function proxy(Layout storage l) internal view returns (OmnichainProxy) {
40 return OmnichainProxy(l.proxyAddress);
41}

Recommendation:

We advise a proper interface to be defined for it that is imported by the codebase, optimizing the code's syntax and potentially its generated bytecode.

Alleviation (c6b23c23d8bcd8cce85049ad959cbd711a37126b):

A proper interface was introduced for the relevant contract and is now imported, addressing this exhibit.