enzymefinance / protocol

Enzyme Protocol Implementation

Home Page:https://enzyme.finance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Replace imports of non-inherited contracts with interfaces

SeanJCasey opened this issue · comments

For example, most of the imports in https://github.com/melonproject/protocol/blob/develop/src/fund/participation/Participation.sol

We import entire components, when all we need are externally-facing function interfaces.

Just a note: @travs and I discussed the benefits of using and maintaining thorough interfaces instead of full contract imports. Some benefits:

  • contract deployment cost (especially funds)
  • frontends will have a clear understanding of their available functions
  • clear target for unit test coverage (every externally-available function should have unit tests)

This one should be done completely now. Reopen if not ofc