Incomplete EIP-712 Implementation
`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
No compatibility with advanced EIP-712 wallets. Cannot sign complex data structures
Manual Review
Implement the complete eip712
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.