微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。