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

Factory Factory #38

Open
spengrah opened this issue Apr 6, 2021 · 0 comments
Open

Factory Factory #38

spengrah opened this issue Apr 6, 2021 · 0 comments
Assignees
Labels
13 enhancement New feature or request

Comments

@spengrah
Copy link
Member

spengrah commented Apr 6, 2021

Overview

A factory contract that deploys MACI and funding round factories, which are the two factory contracts that constitute an instance of clr.fund. While such a factory factory is not strictly necessary, it would
- facilitate a subgraph to support performant data fetching in clr.fund app instances
- make it easy to provide a web-based instance-deployment UI
- give admins confidence that they are deploying the correct version of the requisite factory contracts.

Considerations

Block size limits. With all code deployed in one contract, a factory factory may be too big to fit into a single block. However, we could get around this constraint with a few approaches:

  1. By using a clone factory pattern such as EIP 1167 (or similar). That would have a secondary benefit of reducing the deployment costs for admins.
  2. Another mitigation would be to create two factory factories, one for MACI Factory and one for the Funding Round Factory. That would require two subgraphs, but that might be ok, and we might really only need a subgraph for the Funding Round Factory anyways.
  3. Deploy MACI and Funding Round factories for each instance, and then add a registration contract that ties them all together into a single subgraph.
@spengrah spengrah added the enhancement New feature or request label Apr 6, 2021
@daodesigner daodesigner linked a pull request Apr 8, 2021 that will close this issue
@daodesigner daodesigner removed a link to a pull request Apr 8, 2021
@daodesigner daodesigner added this to the 2. Translucent milestone Apr 8, 2021
@daodesigner daodesigner self-assigned this Apr 14, 2021
@daodesigner daodesigner added the 13 label Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
13 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants