Skip to content

Commit 20631e0

Browse files
committed
feat: add l2 transferred totals tracking
1 parent 8409df2 commit 20631e0

File tree

4 files changed

+39
-1
lines changed

4 files changed

+39
-1
lines changed

schema.graphql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ type GraphNetwork @entity {
6767
"Asset holder for the protocol"
6868
assetHolders: [Bytes!]
6969

70+
# Transfers to L2 totals
71+
"Total amount of indexer stake transferred to L2"
72+
totalTokensStakedTransferredToL2: BigInt!
73+
"Total amount of delegated tokens transferred to L2"
74+
totalDelegatedTokensTransferredToL2: BigInt!
75+
"Total amount of delegated tokens transferred to L2"
76+
totalSignalledTokensTransferredToL2: BigInt!
77+
7078
# Staking global aggregate values
7179
"The total amount of GRT staked in the staking contract"
7280
totalTokensStaked: BigInt!

src/mappings/helpers/helpers.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,9 @@ export function createOrLoadGraphNetwork(
501501
graphNetwork.delegationTaxPercentage = 0
502502
graphNetwork.rebateRatio = BigDecimal.fromString('0')
503503

504+
graphNetwork.totalTokensStakedTransferredToL2 = BigInt.fromI32(0)
505+
graphNetwork.totalDelegatedTokensTransferredToL2 = BigInt.fromI32(0)
506+
graphNetwork.totalSignalledTokensTransferredToL2 = BigInt.fromI32(0)
504507
graphNetwork.totalTokensStaked = BigInt.fromI32(0)
505508
graphNetwork.totalTokensClaimable = BigInt.fromI32(0)
506509
graphNetwork.totalUnstakedTokensLocked = BigInt.fromI32(0)

src/mappings/l1gns.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
joinID,
88
convertBigIntSubgraphIDToBase58,
99
getAliasedL2SubgraphID,
10+
createOrLoadGraphNetwork,
1011
} from './helpers/helpers'
1112

1213
/*
@@ -68,6 +69,13 @@ export function handleSubgraphSentToL2(event: SubgraphSentToL2): void {
6869
deployment.transferredToL2AtTx = event.transaction.hash.toHexString()
6970
deployment.signalledTokensSentToL2 = deployment.signalledTokensSentToL2.plus(event.params._tokens)
7071
deployment.save()
72+
73+
// upgrade graph network
74+
let graphNetwork = createOrLoadGraphNetwork(event.block.number, event.address)
75+
graphNetwork.totalTokensSignalled = graphNetwork.totalTokensSignalled.minus(event.params._tokens)
76+
graphNetwork.totalTokensSignalledAutoMigrate = graphNetwork.totalTokensSignalledAutoMigrate.minus(event.params._tokens.toBigDecimal())
77+
graphNetwork.totalSignalledTokensTransferredToL2 = graphNetwork.totalSignalledTokensTransferredToL2.plus(event.params._tokens)
78+
graphNetwork.save()
7179
}
7280

7381
/*
@@ -112,4 +120,11 @@ export function handleCuratorBalanceSentToL2(event: CuratorBalanceSentToL2): voi
112120
let deployment = SubgraphDeployment.load(version.subgraphDeployment)!
113121
deployment.signalledTokensSentToL2 = deployment.signalledTokensSentToL2.plus(event.params._tokens)
114122
deployment.save()
123+
124+
// upgrade graph network
125+
let graphNetwork = createOrLoadGraphNetwork(event.block.number, event.address)
126+
graphNetwork.totalTokensSignalled = graphNetwork.totalTokensSignalled.minus(event.params._tokens)
127+
graphNetwork.totalTokensSignalledAutoMigrate = graphNetwork.totalTokensSignalledAutoMigrate.minus(event.params._tokens.toBigDecimal())
128+
graphNetwork.totalSignalledTokensTransferredToL2 = graphNetwork.totalSignalledTokensTransferredToL2.plus(event.params._tokens)
129+
graphNetwork.save()
115130
}

src/mappings/l1staking.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
} from '../types/L1Staking/L1Staking'
77

88
import { Indexer, DelegatedStake, GraphNetwork } from '../types/schema'
9-
import { calculateCapacities, joinID, updateAdvancedIndexerMetrics, updateDelegationExchangeRate } from './helpers/helpers'
9+
import { calculateCapacities, createOrLoadGraphNetwork, joinID, updateAdvancedIndexerMetrics, updateDelegationExchangeRate } from './helpers/helpers'
1010

1111
/*
1212
/// @dev Emitted when an indexer transfers their stake to L2.
@@ -37,6 +37,12 @@ export function handleIndexerStakeTransferredToL2(event: IndexerStakeTransferred
3737
indexer = updateAdvancedIndexerMetrics(indexer as Indexer)
3838
indexer = calculateCapacities(indexer as Indexer)
3939
indexer.save()
40+
41+
// upgrade graph network
42+
let graphNetwork = createOrLoadGraphNetwork(event.block.number, event.address)
43+
graphNetwork.totalTokensStaked = graphNetwork.totalTokensStaked.minus(event.params.transferredStakeTokens)
44+
graphNetwork.totalTokensStakedTransferredToL2 = graphNetwork.totalTokensStakedTransferredToL2.plus(event.params.transferredStakeTokens)
45+
graphNetwork.save()
4046
}
4147
/*
4248
/// @dev Emitted when a delegator transfers their delegation to L2
@@ -81,6 +87,12 @@ export function handleDelegationTransferredToL2(event: DelegationTransferredToL2
8187
indexer = updateAdvancedIndexerMetrics(indexer as Indexer)
8288
indexer = calculateCapacities(indexer as Indexer)
8389
indexer.save()
90+
91+
// upgrade graph network
92+
let graphNetwork = createOrLoadGraphNetwork(event.block.number, event.address)
93+
graphNetwork.totalDelegatedTokens = graphNetwork.totalDelegatedTokens.minus(event.params.transferredDelegationTokens)
94+
graphNetwork.totalDelegatedTokensTransferredToL2 = graphNetwork.totalDelegatedTokensTransferredToL2.plus(event.params.transferredDelegationTokens)
95+
graphNetwork.save()
8496
}
8597

8698
/*

0 commit comments

Comments
 (0)