Skip to content
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

feat: add ERC7540 and ERC7575 interfaces #644

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

Conversation

hieronx
Copy link

@hieronx hieronx commented Jan 11, 2025

This adds the interfaces for the 2 finalized extensions to ERC4626, ERC7540 and ERC7575. See https://ethereum.org/en/developers/docs/standards/tokens/erc-4626/#introduction for details on these extensions.

Adding these would be helpful for repositories that rely on the interfaces in forge-std.

ERC7540 interfaces are split by async deposit, async redeem, and fully async vaults, per the ERC specification. This also ensures the ERC-165 ID matches for each vault type.

The ERC7575 interface specifies all ERC4626 methods, rather than extending IERC4626.sol, because:

  1. ERC20 methods need to be excluded for ERC7575.
  2. This ensures IERC7575.interfaceId is the expected ID as specified in https://eips.ethereum.org/EIPS/eip-7575#erc-165-support, since .interfaceID does not account for inherited interfaces.

@hieronx hieronx changed the title Add ERC7540 and ERC7575 feat: add ERC7540 and ERC7575 interfaces Jan 11, 2025
@zerosnacks
Copy link
Member

Hi @hieronx

Thanks for your PR, would you mind pulling from master and merging it?

This will resolve the CI issue

@hieronx
Copy link
Author

hieronx commented Jan 24, 2025

Done @zerosnacks !

@hieronx
Copy link
Author

hieronx commented Jan 24, 2025

@zerosnacks CI is fixed now as well

@zerosnacks zerosnacks requested a review from mds1 January 27, 2025 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants