Releases: graphprotocol/graph-network-subgraph
Security hotfix for Curator data
Fixed an issue with Curator data, particularly signal, that could be exploited to crash the subgraph by utilizing a particular edge case.
Removed pruning and trigger resync
v1.1.1 feat: removed pruning for safety reasons, trigger full resync
L2 tests, fixes to allocation status and startBlock for manifests
Changes:
Entity changes:
- SubgraphDeplyomentManifest: added
startBlockfor the whole manifest (minimum start block detected, takes into consideration not defined start blocks too)
Workflow changes:
- Fixed L2 tests and enabled them as a GH workflow
Fixes:
- Fixed allocation status changing when collecting rebates before closing an allocation
Allocation count, Metadata entities renamed and auto pruning
Entity changes:
GraphNetwork- Added
allocationCountwhich depicts the total amount ofAllocationentities ever created - Added
activeAllocationCountwhich depicts the current amount of openAllocationentities
- Added
GraphAccountMetadatarenamed toGraphAccountMetaSubgraphMetadatarenamed toSubgraphMetaSubgraphVersionMetadatarenamed toSubgraphVersionMeta
Manifest changes:
- Added auto pruning. This disables time travel queries.
- Auto pruning settings:
- 400 blocks for L1 (roughly over 1 hour on ethereum mainnet)
- 15000 blocks for L2 (roughly over 1 hour on arbitrum one)
- Bumped spec version to 1.0.0 to enable auto pruning
Dependencies changes:
- Bumped contracts package from 5.3.3 to 6.2.0
- Bumped graph-cli package from 0.48.0 to 0.68.0
- Bumped graph-ts package from 0.29.3 to 0.32.0
Breaking changes:
- Due to an issue on the query type generation, we needed to rename the metadata entities previously described. This changes the schema so it is considered a breaking change, but given that the previous schema was bugged (plural/singular query types for those entities wasn't being created properly, and thus, they didn't work), there shouldn't be any changes required to make this work, as the types that changed were not working before and couldn't have been used at all.
- Auto pruning removes support for time travel queries older than the specified blocks for L1 (400) and L2 (15000). This breaks any app relying on historical data from this subgraph.
fix: totalDelegatedTokens and totalUnstakedLockedTokens
Some issues on global trackers were detected and fixed on mainnet. Kudos to @pcarranzav for the quick fix!
File Data Sources refactor
Add support for IPFS fetching of files using the latest File Data Source approach
This update contains some breaking changes, mainly due to FDS limitations on how the data needs to be structured (due to the isolation principle).
For the most part, entities that are affected (i.e. entities that contained IPFS data) will have a separate metadata entity created and linked to the base entity, which contains all the same fields that were previously available in the base entity.
The only changes required are to add a new level of indirection to the fields, an example of this would be for the Subgraph entity. If you wanted to access the subgraph image, you'd previously get it as Subgraph.image whereas you now will need to get the metadata entity first Subgraph.metadata.image. (The obvious edge case here is if the metadata doesn't exist, which you now have to check for).
Changelog:
-
GraphAccount:- All IPFS related fields have been moved to the
GraphAccountMetadataentity, linked on the base entity in themetadatafield. This includes:isOrganizationcodeRepositorydescriptionimagewebsitedisplayName
- All IPFS related fields have been moved to the
-
Subgraph- All IPFS related fields have been moved to the
SubgraphMetadataentity, linked on the base entity in themetadatafield. This includes:descriptionimagenftImagecodeRepositorywebsitedisplayNamecategories-> No longer[SubgraphCategoryRelation!]! @derivedFrom(field: "subgraph")but rather a[String!]due to limitations for FDS
- Deprecated
entityVersionandlinkedEntityas entity duplication is no longer needed. To be removed in future updates
- All IPFS related fields have been moved to the
-
SubgraphVersion- All IPFS related fields have been moved to the
SubgraphVersionMetadataentity, linked on the base entity in themetadatafield. This includes:descriptionlabel
- Deprecated
entityVersionandlinkedEntityas entity duplication is no longer needed. To be removed in future updates
- All IPFS related fields have been moved to the
-
SubgraphDeployment- All IPFS related fields have been moved to the
SubgraphDeploymentManifestentity, linked on the base entity in themanifestfield. This includes:manifestnetwork-> No longer aNetworkentity, but rather a rawStringpoweredBySubstreamsschema-> No longer a rawString, but rather aSubgraphDeploymentSchemaentity due to the way FDS needs to be structuredschemaIpfsHash
- All IPFS related fields have been moved to the
-
NameSignal- Deprecated
entityVersionandlinkedEntityas entity duplication is no longer needed. To be removed in future updates
- Deprecated
-
subgraphSearchrenamed tosubgraphMetadataSearchfor fulltext search due to changes in the way we store the metadata fields now. -
Network,SubgraphCategoryandSubgraphCategoryRelationentities removed
Fix delegation params not updating correctly
v0.22.1 fix: delegation params
Unit tests for L1 and Sepolia/Arbitrum Sepolia deployment
v0.22.0 fix: changed log from critical to warning
Fix network totals and add tracking for transfers to L2
v0.20.2 feat: add l2 transferred totals tracking
Fix default delegation parameters on L2
Small fix to delegation parameters defaulting to 0% instead of 100% in L2