Omniscia Evergon Labs Audit
OmnichainSupportStorage Code Style Findings
OmnichainSupportStorage Code Style Findings
OSS-01C: Non-Standard Storage Slot Definition
| Type | Severity | Location |
|---|---|---|
| Standard Conformity | ![]() | OmnichainSupportStorage.sol:L12 |
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:
11/// @dev Storage slot for Omnichain Support layout12bytes32 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
| Type | Severity | Location |
|---|---|---|
| Gas Optimization | ![]() | OmnichainSupportStorage.sol:L39-L41 |
Description:
The OmnichainSupportStorage contract will import the full OmnichainProxy implementation even though it is utilized as an interface.
Example:
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.
