chore: extract shared EIP712 base contract #370
Merged
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.
Motivation
As we've worked on consuming these contracts from Warpcast, we've added a few EIP-712 helper views. These are useful for clients debugging their own EIP-712 signatures. This PR cleans up our EIP712-related functionality and adds consistent helper views everywhere by extracting a shared abstract base contract.
Change Summary
Refactor all contracts using EIP-712 signatures to use our own
EIP712
base contract, which inherits OZEIP712
and exposeshashTypedDataV4
anddomainSeparatorV4
. Expose typehashes as public constants. Remove most test harness wrappers, which are no longer needed.Merge Checklist
Choose all relevant options below by adding an
x
now or at any time before submitting for reviewPR-Codex overview
Detailed summary
This PR focuses on making several changes and improvements to the codebase. The notable changes include:
KeyRegistry.integration.t.sol
IdRegistry
inIdRegistry.gas.t.sol
SignedKeyRequestValidator.t.sol
KeyRegistry.t.sol
IdRegistry.owner.t.sol
EIP712.sol
BundlerTestSuite.sol
FnameResolver.t.sol
IdRegistry.t.sol
SignedKeyRequestValidatorTestSuite.sol
KeyRegistryTestSuite.sol
FnameResolverTestSuite.sol