Project

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

Incomplete EIP-712 Implementation

Summary

Incomplete EIP-712 Implementation

Vulnerability Details

`contract NativeMetaTransaction is EIP712Base {
bytes32 private constant META_TRANSACTION_TYPEHASH = keccak256(
bytes(
"MetaTransaction(uint256 nonce,address from,bytes functionSignature)"
)
);
event MetaTransactionExecuted(
address userAddress,
address relayerAddress,
bytes functionSignature,
bytes32 metaTXHash
);
mapping(address => uint256) nonces;`

The current implementation only provides basic EIP-712 functionality: ```solidity contract EIP712Base { function toTypedMessageHash(bytes32 messageHash) internal view returns (bytes32) { return keccak256( abi.encodePacked("\x19\x01", getDomainSeperator(), messageHash) ); } }

This is insufficient because EIP-712 requires:

1. Support for structured data typing

2. Handling of nested structs

3. Array support

4. Complex type encoding

Impact

No compatibility with advanced EIP-712 wallets. Cannot sign complex data structures

Tools Used

Manual Review

Recommendations

Implement the complete eip712

Updates

Lead Judging Commences

0xbrivan2 Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality
0xbrivan2 Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

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

Give us feedback!