Skip to content

Minimize Interface Pragmas #5649

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

arr00
Copy link
Contributor

@arr00 arr00 commented Apr 25, 2025

The pragmas specified on interfaces are generally way more restrictive than necessary. Given that interfaces don't actually have any related bytecode, we just need to ensure that an interface can compile with lower solc versions--we should set the pragmas to be as permissive as possible to allow consumers to use the interfaces in as many ways as possible.

Note: this script ignores draft interfaces and may error on non-draft files with multiple interfaces defined in them.

Copy link

changeset-bot bot commented Apr 25, 2025

⚠️ No Changeset found

Latest commit: 93008c9

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@arr00 arr00 changed the title Minimize Interface Pragmas WIP: Minimize Interface Pragmas Apr 25, 2025
@arr00 arr00 added this to the 5.4 milestone May 7, 2025
@arr00 arr00 requested a review from Copilot May 12, 2025 19:17
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 25 out of 45 changed files in this pull request and generated no comments.

Files not reviewed (20)
  • contracts/governance/utils/IVotes.sol: Language not supported
  • contracts/interfaces/IERC1155.sol: Language not supported
  • contracts/interfaces/IERC1155MetadataURI.sol: Language not supported
  • contracts/interfaces/IERC1155Receiver.sol: Language not supported
  • contracts/interfaces/IERC1271.sol: Language not supported
  • contracts/interfaces/IERC1363.sol: Language not supported
  • contracts/interfaces/IERC1363Receiver.sol: Language not supported
  • contracts/interfaces/IERC1363Spender.sol: Language not supported
  • contracts/interfaces/IERC165.sol: Language not supported
  • contracts/interfaces/IERC1820Implementer.sol: Language not supported
  • contracts/interfaces/IERC1820Registry.sol: Language not supported
  • contracts/interfaces/IERC1967.sol: Language not supported
  • contracts/interfaces/IERC20.sol: Language not supported
  • contracts/interfaces/IERC20Metadata.sol: Language not supported
  • contracts/interfaces/IERC2309.sol: Language not supported
  • contracts/interfaces/IERC2612.sol: Language not supported
  • contracts/interfaces/IERC2981.sol: Language not supported
  • contracts/interfaces/IERC3156.sol: Language not supported
  • contracts/interfaces/IERC3156FlashBorrower.sol: Language not supported
  • contracts/interfaces/IERC3156FlashLender.sol: Language not supported

@arr00 arr00 requested review from ernestognw and luiz-lvj May 12, 2025 19:18
@arr00 arr00 changed the title WIP: Minimize Interface Pragmas Minimize Interface Pragmas May 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant