yearn / budget

yearn budget requests and audits
MIT License
36 stars 26 forks source link

Proposal for building a Vaults V3 Subgraph for Yearn #183

Open dimitrovmaksim opened 5 months ago

dimitrovmaksim commented 5 months ago

Scope

Developing a Vaults V3 Subgraph for Yearn based on the provided requirements. https://hackmd.io/@D4Z1faeARKedWmEygMxDBA/HybD4iTz6#V3-Subgraph-Spech

  1. Initial Analysis: Analysing the data that needs to be indexed by the subgraph. This will involve a thorough assessment of the contracts, events, mappings, view functions, etc. Check for any potential duplication of data emitted through multiple events, which could result in discrepancies between the blockchain state and the database.
  2. Schema Design: Defining the schema, which includes the entities, their fields, and relationships. Link the emitted event data with the entities and assess if contract functions need to be called to collect all required data. Determine if CallHandlers have to be used to acquire data that is not available through the emitted events.
  3. Subgraph Development: Based on the initial analysis and the defined schema, we will proceed with the development of the subgraph logic.
  4. Testing: Writing unit tests using the Matchstick testing framework to ensure the handlers behave as intended. (Potential) If possible deploying the subgraph to a testnet or mainnet to test for any unexpected behaviours and fix/adjust the handlers.
  5. Deployment: (if that's done by LimeChain)

Plan

  1. Discovery step
    • Assess the contracts, events, mappings, view functions, etc
    • Assert if there may be duplicated data emitted through multiple events
  2. Defining the Schema
    • Define the Entities, their fields and relationships
    • Link the emitted event data with the entities
    • Assess if view functions need to be called to collect all required data
    • Assess if CallHandlers have to be used
  3. Implementation step
    • Implement the handlers
    • Deploy and test
  4. Unit testing step
    • Write unit test with Matchstick

Deadline

2024-03-08

People

LimeChain is a blockchain development company with a track record dating back to 2017. Over the years, we've collaborated with renowned companies and projects, including Polygon, The Graph, Celo, Coinbase, Polkadot, Ledger, and many others. With a dedicated team of over 120 experts, LimeChain has established a strong presence across the entire Web3 stack.

Infrastructure Expertise

In the realm of infrastructure, LimeChain boasts extensive experience in building alternative node implementations, storage proofs, and developer tools, including SDKs and testing frameworks.

Dapp Development

LimeChain has been involved in delivering DeFi solutions, starting from their early days. During the last years, the team has been working on building DEXes, Landing/Borrowing, Staking and Bridge protocols from scratch.

Cooperating with The Graph

The largest initiative delivered by LimeChain to The Graph community is the development of the Matchstick testing framework. LimeChain has been integrating subgraphs across dozens of projects within the past few years.

Team

1.25 FTEs

Money

The funds will cover contributor compensation for the development and testing of the Vaults V3 Subgraph.

Amount

17 000 DAI (ETH mainnet)

Wallet address

0x28e0508767EFA237E4B8930892BE7F28c1AD037E

Reporting

Weekly