IES(Impact Evaluation Service)
{"title": "IES(Impact Evaluation Service)", "logoImg": "bafkreifufwojtnb62hajzgqtgxwh7qjgbf7ck5nm72gdiihm5jtpngi5ri", "website": "https://ies-interface.vercel.app/", "createdAt": 1730035639509, "userGithub": "tnkshuuhei", "credentials": {}, "description": "\n## Overview\n![image](https://github.com/user-attachments/assets/b0355c38-4a4f-4f99-b38e-e39d3237e332)\n\n## User Stories\n### Impact Creators\n### Projects\n- As impact evaluation is being introduced in grant programs like Gitcoin and Optimism, we want to conduct impact evaluations on our own products.\n- We want to receive funding from more grants.\n\n### Grant Operators\n- We want to conduct evaluations to improve the quality of grant programs.\n- We want to attract more funding by evaluating grant programs.\n\n### Evaluators\n- We want opportunities to earn more funds.\n- We want projects to receive funding based on appropriate evaluations.\n\n### Voters\n- We hope that by producing more appropriate reports, more OSS and public goods projects will receive funding.\n- We want to earn funds by participating in governance.\n- We want to make protocol decisions.\n\n## Workflow\n- Project owners register their project through the IES contract.\n- Projects create impact in the market.\n- Evaluators identify these facts from the market and evaluate the projects.\n- Evaluators submit impact evaluation reports to the IES contract and deposit a certain amount of tokens.\n- The IES contract creates a proposal through the Governor contract.\n- Voters reference the report and vote through the Governor contract.\n    - If passed:\n        - The deposited tokens are returned.\n        - The Governor contract creates an Attestation through the EAS contract.\n        - The IES contract sends Hypercerts to the evaluator.\n    - If rejected:\n        - The deposited tokens are sent to the Treasury.\nAfter a certain period:\n- The owner of the IES contract creates a Split contract based on the Hypercerts Fraction through the IES contract and distributes the Treasury funds to the Hypercerts owners.\n\n## Implementation\nThis product is built on top of the following stacks:\n[Splits](https://splits.org) for funds distribution\n[Ethereum Attestation Service](https://attest.org) for attestation\n[Hats protocol](https://hatsprotocol.xyz) for on-chain role management\n[Hypercerts](https://hypercerts.org) for impact certification\n\n### Sequence Diagram\n```mermaid\nsequenceDiagram\nparticipant p as Project\nparticipant m as Market\nparticipant c as IES contract\nparticipant g as Governor contract\nparticipant e as Evaluator\nparticipant v as Voter\nparticipant t as Treasury\np->>c : register project\np->>m : create impact\ne->>m : capture impact\ne->>c : create impact report, deposit token\nc->>g : create proposal, transfer deposited token\nv->>g : vote for proposal\nalt proposal has passed\ng->>e: funds will back\ng->>c: attest()\nc->>c: attest reports on-chain(EAS)\nc->>e: mint hypercerts\nc->>v: mint Hypercerts\nelse voting has not passed\ng->>t: token will send to treasury\nc->>v: mint Hypercerts\nend\nnote over p, t: the end of the year or quoter\nc->>c: create splits based on the balance of Hypercerts fraction\nc->>e: reward\nc->>v: reward\n```\n\n### Hats Tree\n![image](https://github.com/user-attachments/assets/99ed9575-1a1f-49c3-b744-66b3c30ee06f)\n\n![image](https://github.com/user-attachments/assets/72a5dc19-7c45-46f7-8d91-031c0a92f12c)\n", "logoImgData": {}}