- Install Docker if you don't have it already
- Install postgres:
brew install postgresql
yarn run build:docker
yarn run test
- Create a new subgraph config in
src/utils/chains.ts
. This will require adding a new<NETWORK_NAME>_NETWORK_NAME
const for the corresponding network. - Add a new entry in
networks.json
for the new chain. The network name should be derived from the CLI Name in The Graph's supported networks documenation. The factory address can be derived from Uniswap's deployments documentation (not yet available). - To deploy to Alchemy, run the following command:
yarn run deploy:alchemy --
<SUBGRAPH_NAME>
--version-label <VERSION_LABEL>
--deploy-key <DEPLOYMENT_KEY>
--network <NETWORK_NAME>
The subgraph.yaml
file can be automatically generated from the networks.json
configuration for a specific network. This ensures that all contract addresses and start blocks are correctly synchronized.
To generate the subgraph.yaml:
- Make sure your
networks.json
is up to date with the correct contract addresses and start blocks - Run:
For example:
yarn generate-subgraph <network>
yarn generate-subgraph mainnet # or yarn generate-subgraph arbitrum-one
This will create a new subgraph.yaml
file based on the network-specific configuration. The script will:
- Use the contract templates defined for each contract type (PoolManager, PositionManager, etc.)
- Generate data sources for each contract in the specified network
- Preserve all the necessary event handlers and ABI configurations
Available networks can be found in networks.json
.