Skip to content

beefyfinance/beefy-balances-subgraph

Repository files navigation

Beefy beefy-balances Subgraph

This Subgraph sources events from the Beefy contracts in different networks.

Deployments

Goldsky.com

Latest endpoints

Contributing

Prerequisites

Setup the project

yarn install

Running a local instance of graph-node locally

yarn infra:strat

Run tests

yarn test # run all tests
yarn test:graph # run only matchstick-as graph tests
yarn test:lint # run prettier linter

HOWTOs

How to add a new network

  1. Add the network configuration config/.json.
    • indexerHintPrune is the number of blocks to keep for the indexer hint, aim for 2 months. Can be set to "auto" to prune as much as possible. Recommended for performance and cost. Or set to "never" to keep all updates history. (Thegraph docs)
  2. Add dev RPCs in graph-node config docker/graph-node/config.toml.
  3. Add the chain in .github/workflows/Release.yml to configure deployments.
  4. Test the build
    • Apply the configuration: npm run prepare:<chain>
    • Build the application: npm run build
    • Run Tests: npm run test
    • Deploy the new chain in DEV: ./bin/deploy.sh <chain> <dev provider>
    • Test the data in the dev provider subgraph explorer
    • Manually deploy the new chain in PROD for the first version: ./bin/deploy.sh <chain> <dev provider>
  5. Update the Deployments section subgraph URLs in this README
  6. Update the Balances API
  7. Standard formatting with npm run format

How to update the schema

  1. Create or update the schema.graphql file.
  1. Run yarn codegen to generate the typescript types.
  1. Update subgraph.template.yaml with the new entity bindings and/or data sources if needed.
  1. Update or create the mappings in the mappings folder to handle the new entity.
  1. Write tests for the new mappings in the tests folder.

Deploy the subgraph

Manually

./bin/deploy.sh <network> goldsky
./bin/deploy.sh <network> 0xgraph

# or both
./bin/deploy.sh <network> goldsky 0xgraph

Release a new version