Replace imports of non-inherited contracts with interfaces
SeanJCasey opened this issue · comments
Sean Casey commented
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.
Sean Casey commented
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)
Travis Jacobs commented
This one should be done completely now. Reopen if not ofc