ocean-subgraph/scripts/generatenetworkssubgraphs.js
Idiom a10c6244b5
Implementing first pass of veAllocate schema, handlers, and test cove… (#490)
* Implementing first pass of veAllocate schema, handlers, and test coverage.

* Fixed compiling issues, wrote compiling & testing outline inside of veAllocate.test. More to come.

* Created documentation. Moving tests away from subgraph and into df-py.

* Expanding documentation to be thorough and cover more of the work involved.

* use barge artifacts

* use proper contracts in ci

* use barge artifacts folder

* fix replace

* use npm contracts dep

* use latest contracts for barge

* fix some lint

* Fix linter errors

* Update schema

* Finished basic integration of setAllocation event and verified queries/schema is working as intended.

* Fixing amount getter.

* Fixed remaining implementation, verified SimpleSubgraph.test is working, and fixed lint errors.

* Fixing import.

* Use .zero()

* Improve readability

* Add allocated to schema

* Update abi

* Update event handlers in the template

* Update veREADME

* Remove `AllocationRemoved` handler

* Hooking data for tx, firstContact, lastUpdate, block

* Update event abi

* Add chainId and nftAddress to schema

* Update `handleAllocationSet`

* Update abi

* Update readme

* Set initial values

* Fix math

* Missing event param

* set initial value of `lastContact`

* veOcean template

* VeOcean entity

* Handler functions - wip

* rename file

* Delegation schema

* veDelegate mapping file

* Rename

* Update template

* Update schema

* Update replaces

* Add handler for delegation

* Update schema

* getveDelegation

* Update naming

* Add deposit entity

* Update template

* Make delegation an array

* Add `handleDelegation`

* Add `handleDeposit` for veOCEAN

* Add `getveOCEAN` util function

* Add `getDeposit` util function

* Add `handleBurnBoost`

* Add `handleExtendBoost`

* Add `handleTransferBoost`

* Set default veOCEAN

* Remove unused import

* Rename Deposit to VeDeposit

* Include block number

* Remove `allocatedTotal`

* Updating schema and fixing errors due to naming changes. Let's keep the user current allocation, maybe we need to create a feature to more easily let them know whether they are fully allocated, or not..

* bump contracts to v1.1.1

* bump contracts

* bump to contracts 1.1.2

* fix script for networks without ve

* add veAllocation.sol's AllocationSetMultiple

* copy artfacts from barge for npm quickstart:barge

* fix using barge artifacts

* temp debug

* use barge artifacts

* use contracts 1.1.3

* use same approach for 'development'

* bump ocean-contracts

Co-authored-by: alexcos20 <alex.coseru@gmail.com>
Co-authored-by: mihaisc <mihai@oceanprotocol.com>
Co-authored-by: trizin <25263018+trizin@users.noreply.github.com>
2022-09-05 15:07:31 +03:00

70 lines
2.0 KiB
JavaScript

/* 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()