/* eslint-disable no-unused-vars */ const fs = require('fs') let addresses = require('@oceanprotocol/contracts/addresses/address.json') async function replaceContractAddresses() { // load addresses file first if (!process.argv[2]) { console.error('Missing network..') return } if (process.env.ADDRESS_FILE) { console.log('Using custom ADDRESS_FILE instead of ocean-contracts npm dep') addresses = JSON.parse(fs.readFileSync(process.env.ADDRESS_FILE, 'utf8')) } for (const network in addresses) { if (process.argv[2] != network) { console.log('Skipping ' + network) continue } console.log('Creating subgraph.yaml for ' + network) let subgraph = fs.readFileSync('./subgraph.template.yaml', 'utf8') const subgraphVe = fs.readFileSync('./subgraph_ve.template.yaml', 'utf8') if (addresses[network].veOCEAN) { // fix identation , due to vs auto format (subgraph_ve.template is moved to left) const lines = subgraphVe.split('\n') for (let line = 0; line < lines.length; line++) { subgraph += ' ' + lines[line] + '\n' } } subgraph = subgraph.replace(/__NETWORK__/g, network) subgraph = subgraph.replace( /__STARTBLOCK__/g, addresses[network].startBlock ) subgraph = subgraph.replace( /__ERC721FACTORYADDRESS__/g, "'" + addresses[network].ERC721Factory + "'" ) subgraph = subgraph.replace( /__FACTORYROUTERADDRESS__/g, "'" + addresses[network].Router + "'" ) subgraph = subgraph.replace( /__VEALLOCATEADDRESS__/g, "'" + addresses[network].veAllocate + "'" ) subgraph = subgraph.replace( /__VEOCEANADDRESS__/g, "'" + addresses[network].veOCEAN + "'" ) subgraph = subgraph.replace( /__VEDELEGATIONADDRESS__/g, "'" + addresses[network].veDelegation + "'" ) subgraph = subgraph.replace( /__DFREWARDSADDRESS__/g, "'" + addresses[network].DFRewards + "'" ) fs.writeFileSync('subgraph.yaml', subgraph, 'utf8') } } replaceContractAddresses()