Skip to content

Launch Update

Compare
Choose a tag to compare
@davekaj davekaj released this 06 Jul 21:47
· 200 commits to master since this release

Changelog:

  • Added package.json scripts to deploy IPFS enabled or disabled versions of the subgraph.
  • Changed GitHub action workflows a bit to reflect the IPFS enabled/disabled changes
  • Added fulltext search for curator and delegator entities. (curatorSearch and delegatorSearch).
  • Entity changes
    • GraphNetwork
      • Added ownerTaxPercentage. Percentage of the GNS migration tax payed by the subgraph owner
      • Added activeDelegatorCount. Total amount of active Delegator entities. (at least 1 DelegatedStake with signalAmount > 0)
      • Added delegationCount. Total amount of DelegatedStake entities (specific delegations).
      • Added activeDelegationCount. Total amount of active DelegatedStake entities (specific delegations with signalAmount > 0).
      • Added querySlashingPercentage and indexSlashingPercentage.
      • Deprecation notice on slashingPercentage.
    • GraphAccount
      • Added tokenLockWallets array. Used to properly recognize ENS names on vesting contract users.
    • Subgraph
      • Deprecation notice on pastVersions
      • Added versions field which should replace pastVersions. It's more performant for indexing since it doesn't need to manually handle arrays, with the small caveat that unlike pastVersions it includes the currentVersion in the list.
      • Added versionCount.
      • Added active field. Used to differentiate active and deprecated Subgraph entities.
      • Added currentSignalledTokens. Mostly for sorting purposes on the UI, should be currentSignalledTokens = signalledTokens - unsignalledTokens. It only tracks tokens signalled towards that specific subgraph name (NameSignal), so it could potentially be negative in scenarios where the NameSignal shares lose value on the bonding curve because of Signal (version signals) unsignalling on the same bonding curve.
      • Added signalAmount. Represents the amount of version signal that the name pool for that named subgraph has.
      • Added nameSignalCount. Tracks the total amount of NameSignal entities for that subgraph.
      • All IPFS related fields (description, image, codeRepository, website and displayName) are now optional.
      • Added categories list. Many-to-many list that represents all the categories that a subgraph belongs to.
    • SubgraphVersion
      • All IPFS related fields (description and label) are now optional.
    • SubgraphDeployment
      • Added ipfsHash field. Holds the Qm... string (i.e. the IPFS hash) of the manifest file for the SubgraphDeployment.
      • Added pricePerShare. Price of the current Curation share (i.e. signal) on this deployment. It's the approximation of the current value of said share, given the bonding curve dynamics (selling or buying the share always has price impact, so this is the snapshot of the value at this particular point in the bonding curve, doesn't mean you will be getting exactly this amount per share if you buy or sell any amount of shares). Also worth noting, this is the price per share of the actual version signals, NOT name signals (Automigrate shares).
      • Added manifest. Raw string of the manifest file located at ipfsHash on the IPFS network.
      • Added network. Link to the Network entity that this deployment indexes. (Deployments that index contracts from the mainnet network will have a link to the mainnet Network entity here, for example).
      • Added schemaIpfsHash. Qm... string (IPFS hash) of the schema file for this deployment.
      • Added schema. Raw string of the schema file located at schemaIpfsHash on the IPFS network.
    • Allocation
      • Added createdAtBlockNumber. Block number at which the allocation was created.
      • closedAtEpoch is now optional. Should be null until the Allocation is closed.
      • Added closedAt. Timestamp for the closing of the Allocation
      • Added fields to differentiate protocol cuts at the start of the Allocation and when it's closed.
        • indexingRewardCutAtStart
        • indexingRewardEffectiveCutAtStart
        • queryFeeCutAtStart
        • queryFeeEffectiveCutAtStart
        • indexingRewardCutAtClose
        • indexingRewardEffectiveCutAtClose
        • indexingRewardCutAtStart
        • queryFeeCutAtClose
        • queryFeeEffectiveCutAtClose
    • Delegator
      • Added fields needed to properly track if the Delegator entity is active or not for the activeDelegatorCount on the GraphNetwork entity.
        • stakesCount. Total amount of DelegatedStake entities for this Delegator.
        • activeStakesCount. Amount of active DelegatedStake entities for this Delegator. (signalAmount > 0)
      • Added defaultDisplayName. Should be the ENS name for this delegator, doesn't matter if it's a direct account or vesting contract.
    • Curator
      • Added totalSignal. Represents the total amount of version signal across all bonding curves.
      • Added totalSignalAverageCostBasis.
      • Added totalSignalAverageCostBasisPerSignal.
      • Added new counters to track the amount of signals (both NameSignal and Signal and combined) the curator owns.
        • signalCount
        • activeSignalCount
        • nameSignalCount
        • activeNameSignalCount
        • combinedSignalCount
        • activeCombinedSignalCount
    • Signal
      • Added averageCostBasis and averageCostBasisPerSignal to be on par with the NameSignal entity.
      • Added created at and last updated at fields for both timestamp and block numbers
        • createdAt
        • lastUpdatedAt
        • createdAtBlock
        • lastUpdatedAtBlock
    • NameSignal
      • Added signal field to represent the underlying version signal minted for that specific NameSignal. (remember that NameSignal.nameSignal represents the shares of the name pool owned for that NameSignal, while the new field represents the amount of version signal minted for the NameSignal, which is what is the actual shares of the bonding curve)
      • Deprecation notice on averageCostBasis and averageCostBasisPerSignal, since we know have new fields to differentiate the values for the nameSignal and signal amounts.
      • Added separate fields to track average cost basis for nameSignal and signal fields.
        • nameSignalAverageCostBasis
        • nameSignalAverageCostBasisPerSignal
        • signalAverageCostBasis
        • signalAverageCostBasisPerSignal
    • Epoch
      • Added queryFeesCollected field to track the collected query fees during the epoch.
      • Added curatorQueryFees field to track the amount of query fees going to curators during the epoch.
    • Added new entities
      • Added Network entity. Represents the different networks that subgraphs are indexing, and has a deployments list with all the current SubgraphDeployment entities that have data sources that index that specific Network.
      • Added SubgraphCategory and SubgraphCategoryRelation entities. SubgraphCategory represents the different existing categories that a Subgraph can belong to. SubgraphCategoryRelation is an auxiliary entity to represent the many-to-many nature of the relationship without recurring to manual arrays.
      • Added NameSignalSubgraphRelation entity. Auxiliary entity for batch updates for curator NameSignal entities.
      • Added entities from the token-distribution subgraph to enable ENS names on vesting contract wallets. (TokenManager, AuthorizedFunction, TokenLockWallet and Revocability enum). They should be replaced with a cleaner solution in a future refactor, since it's not ideal to keep them here.