EIP712:hashStruct 的编码成员值的顺序

问题描述

我最近了解了 EIP712 散列和数据签名。

我发现了两个实现:

首先:

bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH,owner,spender,rawAmount,nonces[owner]++,deadline)); 

第二:

bytes32 public immutable PERMIT_TYPEHASH = keccak256("Permit(address owner,uint256 deadline,uint8 v,bytes32 r,bytes32 s)");

bytes32 hashStruct = keccak256(abi.encode(PERMIT_TYPEHASH,value,deadline));

EIP712 文档说

enter image description here

在 SECOND 实现中,hashStruct encodeData 具有 nonce 值但未在 typehash 中定义。同样,vrs 未在 encodeData 中定义。

一切都好吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)