feat: add ERC7540 and ERC7575 interfaces #644
Open
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 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: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.