feat: signer: support encoding fixed and dynamic arrays to fully comply with EIP 712 spec #30620
+6,272
−71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR patches the current implementation to resolve this issue.
The test cases in testdata/typed-data.json have been repurposed from the ethers.js repository.
The test cases have been updated to remove the ones that don't have a valid domain separator as EIP-712 messages without a domain separator are not supported by geth.
As an example, the below test case from ethersjs repository has been removed as it is considered invalid.