- Run
yarn
- Start graph node:
docker-compose up
- Place ABIs in the
artifacts/
directory - In
voltz-core
, starthardhat
:npx hardhat node --hostname 0.0.0.0
(just runyarn deploy:localhost
if that doesn't work) - Create subgraph:
yarn create-local
- Deploy subgraph:
yarn deploy-local
(could fail because the abis contain custom errors. Remove the custom errors from abi withyarn remove-errors
and try again)
After any change to the subgraph.yaml.template
, schema.graphql
, or any files in the src/
directory, run:
Either yarn configure:kovan
or configure:localhost
or configure:mainnet
, to populate the correct contract addresses
yarn codegen
Do not modify any files in the generated/
directory directly.
- Configure the hosted service using TheGraph's webapp, and save the appropriate access token in an
ACCESS_TOKEN_HOSTED
andGRAPH_URL_HOSTED
environment variable - Run
yarn configure:kovan
orconfigure:localhost
orconfigure:mainnet
, to populate the correct contract addresses yarn deploy-hosted-service
- Ensure you have
DEPLOY_TOKEN_STUDIO
andGRAPH_URL_STUDIO
access tokens in your environment variables. - Run
yarn configure:mainnet
for mainnet deployment (there is no testnet support for Studio at the time of writing). - Run
yarn deploy-studio
The starting block to be used for mainnet deployment should be around the creation of the Factory contract which is at block 14853746
- Remove containers:
docker-compose down
- Remove
data/
directory containing database files - Run
docker-compose up
If you wish to contribute to the Voltz subgraph codebase please install husky v7.0.2
or above to make sure your commits are checked for linting and that your commit messages are correctly formatted. Husky has been exluded from the devDependecies as it broke the npm install.
The Voltz Protocol, and any products or services associated therewith, is offered only to persons (aged 18 years or older) or entities who are not residents of, citizens of, are incorporated in, owned or controlled by a person or entity in, located in, or have a registered office or principal place of business in any “Restricted Territory.”
The term Restricted Territory includes the United States of America (including its territories), Algeria, Bangladesh, Bolivia, Belarus, Myanmar (Burma), Côte d’Ivoire (Ivory Coast), Egypt, Republic of Crimea, Cuba, Democratic Republic of the Congo, Iran, Iraq, Liberia, Libya, Mali, Morocco, Nepal, North Korea, Oman, Qatar, Somalia, Sudan, Syria, Tunisia, Venezuela, Yemen, Zimbabwe; or any jurisdictions in which the sale of cryptocurrencies are prohibited, restricted or unauthorized in any form or manner whether in full or in part under the laws, regulatory requirements or rules in such jurisdiction; or any state, country, or region that is subject to sanctions enforced by the United States, such as the Specially Designed Nationals and Blocked Persons List (“SDN List”) and Consolidated Sanctions List (“Non-SDN Lists”), the United Kingdom, or the European Union.