Closed sterliakov closed 1 year ago
@sterliakov sorry for not noticing this sooner, do you think that #26 will have the relevant fixes applied? would also accept a follow-on PR to that one if there are additional changes necessary. Thank you, I appreciate it.
@fubuloubu Sorry for the delay, I think that #26 closes this issue and is sufficient to support EIP712 v4.
File hashing.py is a copy of old eth_account internal file. However, since copying a few critical bugs were discovered in that implementation, which are fixed upstream.
In particular, the version in your package fails to properly encode in the following scenarios:
Something[]
does not cause a dependency fromSomething
)Something[]
, every item must be keccak-hashed, then concatenated and hashed again; current implementation misses the first step).Maybe this list of bugs is incomplete.
While this may sound like a complex issue, it is resolved as easy as upgrading to upstream implementation (see link above). It fully supports EIP712 v4.
Should I submit a PR with this change? It is not breaking, but requires patch/minor version bump and new release, since it is a bugfix and does not alter the public interface.