fix: improve error message for conflicting methods IDs #3491
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.
What I did
Fix again #3133 as it has been reverted by #2974.
Additionally, added a test for collisions of functions having
0x00000000
as ID.How I did it
Similarly to #3134, modified
validate_unique_method_ids
so that it outputs both the signature of each function having a collision together with the collision id itself.How to verify it
Trying to compile the following contract will now output the signature of the functions having a collision and the collision id:
Methods have conflicting IDs:
Methods produce colliding method ID '0x2e1a7d4d': OwnerTransferV7b711143(uint256), withdraw(uint256)
Commit message
fix: improve error message for conflicting methods IDs
Description for the changelog
Improve error message for conflicting methods IDs
Cute Animal Picture