Project

One World
NFTDeFi
15,000 USDC
View results
Submission Details
Severity: low
Invalid

EIP-712 Domain Separator Naming Convention Violation

Summary

The EIP712Base implementation of EIP-712 consistently misspells "Separator" as "Seperator" across multiple functions and state variables. While functionally benign, this deviation from the EIP-712 standard could impact code maintainability and integration efforts.

Vulnerability Details

The issue exists in multiple locations within the EIP712Base contract:

contract EIP712Base {
// Incorrect spelling in state variable
bytes32 internal domainSeperator;
// Incorrect spelling in function name
function _setDomainSeperator(string memory name, string memory version) internal {
domainSeperator = keccak256(
abi.encode(
EIP712_DOMAIN_TYPEHASH,
keccak256(bytes(name)),
keccak256(bytes(version)),
address(this),
bytes32(getChainId())
)
);
}
// Incorrect spelling in getter function
function getDomainSeperator() public view returns (bytes32) {
return domainSeperator;
}
}

The misspelling appears to be a systematic error in the contract's implementation, deviating from the official EIP-712 specification which explicitly uses "Separator" in its documentation and reference implementation. The EIP-712 standard clearly states:

domainSeparator = hashStruct(eip712Domain)

This indicates that the correct spelling "Separator" should be used throughout the implementation.

Impact

Developers integrating with this contract might face confusion when matching function names with EIP-712 documentation. The deviation from standard terminology affects code professionalism and readability. Also any documentation referencing these functions will need to account for the non-standard spelling.

Tools Used

Manual Review

Recommendations

Change the spelling from Seperator to Separator.

Updates

Lead Judging Commences

0xbrivan2 Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
0xbrivan2 Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Appeal created

0xbeastboy Submitter
7 months ago
0xbrivan2 Lead Judge
6 months ago
0xbrivan2 Lead Judge 6 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.