Skip to content

[RESEARCH] ERC4626 support & customization #281

@maxnorm

Description

@maxnorm

Question for research

Should Compose Support an ERC-4626 Implementation?

Before deciding whether to include an ERC-4626 implementation in Compose, we would like to conduct research on how ERC-4626 is actually used and extended in projects.

Research Question

How is ERC-4626 customized in the wild?

Specifically:

  • How do real-world projects extend ERC-4626 implementations?
  • Do most vaults override core functions?
  • Are teams typically inheriting from OpenZeppelin’s implementation or other contract lib?
  • Is there meaningful value in providing a reusable facet version inside Compose?

Context

The development is currently blocked for ERC4626 (See related Issue & PR)

The hesitation to include ERC-4626 in Compose is based on the following concerns:

  • Many/most vaults will have custom versions of these standard functions, and so will not use provided version by Compose facets.
  • This vault standard add some complexity with the muldiv function (that can be delayed if we don't include ERC-4626)

This research will be used to make a more inform decision on the addition or not of ERC-4626 (and all other standards based on it like ERC-7540)

Helpful Information

Have a question? Please check our contribution guide first - your answer might already be there!

Want to discuss something? For general questions, ideas, or brainstorming, please browse our discussions or start a new one.

You can also join our Discord to discuss the question.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions