-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Behind the scenes, Ecosystems require a new Driver contract (calling this MaintainerDriver for now, name TBD) with the following properties:
- Access control is mirrored from
RepoDriver, meaning that 1) there is one account ID per GitHub repo URL inMaintainerDriver, and 2)MaintainerDriveraccount IDs can easily be inferred from aRepoDriveruser ID or aforge+repoOwner/repoNamepair. - Other than the above, it's a standard driver that simply grants access to control a particular account to whoever owns a given
RepoDriveraccount ID. - Our frontend, during the project claim process, will continue setting maintainer & dependency splits to
RepoDriversplit configs, but write only maintainer splits toMaintainerDriverat the same time, in the same batch transaction. The latter are scaled to cover 100%, so thatMaintainerDriveraccounts also always split 100% of funds away from themselves. - When a project owner edits splits for their project, any changes to maintainers are also applied to the paired
MaintainerDriveraccount ID. - Like this, it's possible to split / send funds either to a project and its dependencies (as is already possible today through
RepoDriver), or only to the project's maintainers, by simply directing funds at the repo's associatedMaintainerDriveraccount instead. - Further, this makes it possible to pre-fund only maintainers of a project, even before they claim their project and self-report maintainers.
This all is required because Ecosystems include "graph intelligence" within themselves, and thus need to essentially side-step Drips' inherent dependency graph. If Ecosystems were to fund standard RepoDriver accounts, the intended allocations would be skewed, because every project node also funds dependencies that were in fact already accounted for in the original Ecosystem allocation.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels