Skip to content

Commit d862973

Browse files
authored
Merge pull request #313 from graphprotocol/tmigone/fixes
2 parents 81b4a25 + c71247d commit d862973

File tree

14 files changed

+1165
-1473
lines changed

14 files changed

+1165
-1473
lines changed

abis/HorizonDisputeManager.json

Lines changed: 1006 additions & 1403 deletions
Large diffs are not rendered by default.

schema.graphql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,8 @@ type Indexer @entity(immutable: false) {
815815
delegators: [DelegatedStake!]! @derivedFrom(field: "indexer")
816816
"CURRENT tokens delegated to the indexer"
817817
delegatedTokens: BigInt!
818+
"Tokens delegated that are thawing from the provision"
819+
delegatedThawingTokens: BigInt!
818820
"Ratio between the amount of the indexers own stake over the total usable stake."
819821
ownStakeRatio: BigDecimal!
820822
"Ratio between the amount of delegated stake over the total usable stake."
@@ -998,6 +1000,8 @@ type Provision @entity(immutable: false) {
9981000
# Delegation
9991001
"Tokens delegated to the provision"
10001002
delegatedTokens: BigInt!
1003+
"Tokens delegated that are thawing from the provision"
1004+
delegatedThawingTokens: BigInt!
10011005
"Total shares of the delegator pool"
10021006
delegatorShares: BigInt!
10031007
"Exchange rate of tokens received for each share"
@@ -1519,6 +1523,7 @@ enum DisputeStatus {
15191523
Accepted
15201524
Rejected
15211525
Draw
1526+
Cancelled
15221527
}
15231528

15241529
"""

src/mappings/curation.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
joinID,
1717
calculatePricePerShare,
1818
batchUpdateSubgraphSignalledTokens,
19+
loadGraphNetwork,
1920
} from './helpers/helpers'
2021
import { zeroBD } from './utils'
2122
import { addresses } from '../../config/addresses'
@@ -27,11 +28,11 @@ import { addresses } from '../../config/addresses'
2728
* - updates subgraph deployment, creates if needed
2829
*/
2930
export function handleSignalled(event: Signalled): void {
30-
let graphNetwork = GraphNetwork.load('1')!
31+
let graphNetwork = loadGraphNetwork()
3132
// Create curator and update most of the parameters
3233
let id = event.params.curator.toHexString()
3334
let gnsID = graphNetwork.gns.toHexString()
34-
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp)
35+
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp, graphNetwork)
3536
curator.totalSignalledTokens = curator.totalSignalledTokens.plus(
3637
event.params.tokens.minus(event.params.curationTax),
3738
)
@@ -98,7 +99,7 @@ export function handleSignalled(event: Signalled): void {
9899
curator.save()
99100

100101
// Update subgraph deployment
101-
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp)
102+
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp, graphNetwork)
102103
let oldSignalAmount = deployment.signalAmount
103104
let oldSignalledTokens = deployment.signalledTokens
104105
deployment.signalledTokens = deployment.signalledTokens.plus(
@@ -165,7 +166,7 @@ export function handleSignalled(event: Signalled): void {
165166
* - updates subgraph
166167
*/
167168
export function handleBurned(event: Burned): void {
168-
let graphNetwork = GraphNetwork.load('1')!
169+
let graphNetwork = loadGraphNetwork()
169170
let id = event.params.curator.toHexString()
170171
let gnsID = graphNetwork.gns.toHexString()
171172
// Update signal
@@ -215,7 +216,7 @@ export function handleBurned(event: Burned): void {
215216
// Assuming curator is created since it's a burn can't be done, as signals can be transferred and
216217
// we currently can't track transfers, thus this might be the first curation interaction of this
217218
// account
218-
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp)
219+
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp, graphNetwork)
219220
curator.totalUnsignalledTokens = curator.totalUnsignalledTokens.plus(event.params.tokens)
220221
curator.totalSignal = curator.totalSignal.minus(event.params.signal.toBigDecimal())
221222
curator.totalSignalAverageCostBasis = curator.totalSignalAverageCostBasis.minus(diffACB)
@@ -298,7 +299,7 @@ export function handleBurned(event: Burned): void {
298299
*/
299300
export function handleParameterUpdated(event: ParameterUpdated): void {
300301
let parameter = event.params.param
301-
let graphNetwork = GraphNetwork.load('1')!
302+
let graphNetwork = loadGraphNetwork()
302303
let curation = Curation.bind(event.address)
303304

304305
if (parameter == 'defaultReserveRatio') {

src/mappings/gns.ts

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ import {
5656
updateCurrentDeploymentLinks,
5757
getSubgraphID,
5858
convertBigIntSubgraphIDToBase58,
59-
createOrLoadGraphNetwork
59+
createOrLoadGraphNetwork,
60+
loadGraphNetwork,
6061
} from './helpers/helpers'
6162
import { addresses } from '../../config/addresses'
6263

@@ -172,10 +173,11 @@ function addDefaultNameTokenLockWallets(graphAccount: GraphAccount): void {
172173
}
173174

174175
export function handleSubgraphMetadataUpdated(event: SubgraphMetadataUpdated): void {
176+
let graphNetwork = loadGraphNetwork()
175177
let subgraphID = getSubgraphID(event.params.graphAccount, event.params.subgraphNumber)
176178

177179
// Create subgraph
178-
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp)
180+
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp, graphNetwork)
179181

180182
let hexHash = changetype<Bytes>(addQm(event.params.subgraphMetadata))
181183
let base58Hash = hexHash.toBase58()
@@ -200,12 +202,13 @@ export function handleSubgraphMetadataUpdated(event: SubgraphMetadataUpdated): v
200202
* - creates graph account, if needed
201203
*/
202204
export function handleSubgraphPublished(event: SubgraphPublished): void {
205+
let graphNetwork = GraphNetwork.load('1')!
203206
let subgraphID = getSubgraphID(event.params.graphAccount, event.params.subgraphNumber)
204207
let versionNumber: BigInt
205208

206209
// Update subgraph
207210
// Create subgraph
208-
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp)
211+
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp, graphNetwork)
209212
let oldVersionID = subgraph.currentVersion
210213

211214
versionNumber = subgraph.versionCount
@@ -227,7 +230,7 @@ export function handleSubgraphPublished(event: SubgraphPublished): void {
227230

228231
// Create subgraph deployment, if needed. Can happen if the deployment has never been staked on
229232
let subgraphDeploymentID = event.params.subgraphDeploymentID.toHexString()
230-
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp)
233+
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp, graphNetwork)
231234

232235
// Create subgraph version
233236
let subgraphVersion = new SubgraphVersion(versionID)
@@ -306,7 +309,7 @@ export function handleNSignalMinted(event: NSignalMinted): void {
306309
subgraph.save()
307310

308311
// Update the curator
309-
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp)
312+
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp, graphNetwork)
310313
// nSignal
311314
curator.totalNameSignalledTokens = curator.totalNameSignalledTokens.plus(
312315
event.params.tokensDeposited,
@@ -339,7 +342,7 @@ export function handleNSignalMinted(event: NSignalMinted): void {
339342
}
340343
curator.save()
341344

342-
let nameSignal = createOrLoadNameSignal(event.params.nameCurator, subgraphID, event.block.timestamp)
345+
let nameSignal = createOrLoadNameSignal(event.params.nameCurator, subgraphID, event.block.timestamp, graphNetwork)
343346

344347
let isNameSignalBecomingActive =
345348
nameSignal.nameSignal.isZero() && !event.params.nSignalCreated.isZero()
@@ -421,6 +424,7 @@ export function handleNSignalBurned(event: NSignalBurned): void {
421424
event.params.nameCurator,
422425
subgraphID,
423426
event.block.timestamp,
427+
graphNetwork,
424428
)
425429

426430
let isNameSignalBecomingInactive =
@@ -446,7 +450,7 @@ export function handleNSignalBurned(event: NSignalBurned): void {
446450
}
447451

448452
// update curator
449-
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp)
453+
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp, graphNetwork)
450454
curator.totalNameUnsignalledTokens = curator.totalNameUnsignalledTokens.plus(
451455
event.params.tokensReceived,
452456
)
@@ -586,6 +590,7 @@ export function handleNameSignalDisabled(event: NameSignalDisabled): void {
586590
}
587591

588592
export function handleGRTWithdrawn(event: GRTWithdrawn): void {
593+
let graphNetwork = loadGraphNetwork()
589594
let bigIntID = getSubgraphID(event.params.graphAccount, event.params.subgraphNumber)
590595
let subgraphID = convertBigIntSubgraphIDToBase58(bigIntID)
591596
let subgraph = Subgraph.load(subgraphID)!
@@ -598,6 +603,7 @@ export function handleGRTWithdrawn(event: GRTWithdrawn): void {
598603
event.params.nameCurator,
599604
subgraphID,
600605
event.block.timestamp,
606+
graphNetwork,
601607
)
602608
nameSignal.withdrawnTokens = event.params.withdrawnGRT
603609
nameSignal.nameSignal = nameSignal.nameSignal.minus(event.params.nSignalBurnt)
@@ -614,7 +620,7 @@ export function handleGRTWithdrawn(event: GRTWithdrawn): void {
614620
nameSignal.signalAverageCostBasisPerSignal = BigDecimal.fromString('0')
615621
nameSignal.save()
616622

617-
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp)
623+
let curator = createOrLoadCurator(event.params.nameCurator, event.block.timestamp, graphNetwork)
618624
curator.totalWithdrawnTokens = curator.totalWithdrawnTokens.plus(event.params.withdrawnGRT)
619625
curator.save()
620626
}
@@ -639,6 +645,7 @@ export function handleParameterUpdated(event: ParameterUpdated): void {
639645
// handler: handleSubgraphPublishedV2
640646

641647
export function handleSubgraphPublishedV2(event: SubgraphPublished1): void {
648+
let graphNetwork = loadGraphNetwork()
642649
let bigIntID = event.params.subgraphID
643650
let subgraphID = convertBigIntSubgraphIDToBase58(bigIntID)
644651
let versionID: string
@@ -649,6 +656,7 @@ export function handleSubgraphPublishedV2(event: SubgraphPublished1): void {
649656
event.params.subgraphID,
650657
event.transaction.from,
651658
event.block.timestamp,
659+
graphNetwork,
652660
)
653661
let oldVersionID = subgraph.currentVersion
654662

@@ -665,7 +673,7 @@ export function handleSubgraphPublishedV2(event: SubgraphPublished1): void {
665673

666674
// Create subgraph deployment, if needed. Can happen if the deployment has never been staked on
667675
let subgraphDeploymentID = event.params.subgraphDeploymentID.toHexString()
668-
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp)
676+
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp, graphNetwork)
669677

670678
// Create subgraph version
671679
let subgraphVersion = new SubgraphVersion(versionID)
@@ -751,7 +759,7 @@ export function handleNSignalMintedV2(event: SignalMinted): void {
751759
subgraph.save()
752760

753761
// Update the curator
754-
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp)
762+
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp, graphNetwork)
755763
// nSignal
756764
curator.totalNameSignalledTokens = curator.totalNameSignalledTokens.plus(
757765
event.params.tokensDeposited,
@@ -784,7 +792,7 @@ export function handleNSignalMintedV2(event: SignalMinted): void {
784792
}
785793
curator.save()
786794

787-
let nameSignal = createOrLoadNameSignal(event.params.curator, subgraphID, event.block.timestamp)
795+
let nameSignal = createOrLoadNameSignal(event.params.curator, subgraphID, event.block.timestamp, graphNetwork)
788796

789797
let isNameSignalBecomingActive =
790798
nameSignal.nameSignal.isZero() && !event.params.nSignalCreated.isZero()
@@ -868,6 +876,7 @@ export function handleNSignalBurnedV2(event: SignalBurned): void {
868876
event.params.curator,
869877
subgraphID,
870878
event.block.timestamp,
879+
graphNetwork,
871880
)
872881

873882
let isNameSignalBecomingInactive =
@@ -893,7 +902,7 @@ export function handleNSignalBurnedV2(event: SignalBurned): void {
893902
}
894903

895904
// update curator
896-
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp)
905+
let curator = createOrLoadCurator(event.params.curator, event.block.timestamp, graphNetwork)
897906
curator.totalNameUnsignalledTokens = curator.totalNameUnsignalledTokens.plus(
898907
event.params.tokensReceived,
899908
)
@@ -1111,7 +1120,7 @@ export function handleSubgraphVersionUpdated(event: SubgraphVersionUpdated): voi
11111120

11121121
// Create subgraph deployment, if needed. Can happen if the deployment has never been staked on
11131122
let subgraphDeploymentID = event.params.subgraphDeploymentID.toHexString()
1114-
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp)
1123+
let deployment = createOrLoadSubgraphDeployment(subgraphDeploymentID, event.block.timestamp, graphNetwork)
11151124

11161125
// Create subgraph version
11171126
let subgraphVersion = new SubgraphVersion(versionID)
@@ -1146,10 +1155,11 @@ export function handleSubgraphVersionUpdated(event: SubgraphVersionUpdated): voi
11461155
// handler: handleLegacySubgraphClaimed
11471156

11481157
export function handleLegacySubgraphClaimed(event: LegacySubgraphClaimed): void {
1158+
let graphNetwork = loadGraphNetwork()
11491159
let subgraphID = getSubgraphID(event.params.graphAccount, event.params.subgraphNumber)
11501160

11511161
// Update subgraph v2
1152-
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp)
1162+
let subgraph = createOrLoadSubgraph(subgraphID, event.params.graphAccount, event.block.timestamp, graphNetwork)
11531163
subgraph.migrated = true
11541164
subgraph.save()
11551165
}
@@ -1160,11 +1170,13 @@ export function handleLegacySubgraphClaimed(event: LegacySubgraphClaimed): void
11601170
export function handleTransfer(event: Transfer): void {
11611171
let newOwner = createOrLoadGraphAccount(event.params.to, event.block.timestamp)
11621172

1173+
let graphNetwork = loadGraphNetwork()
11631174
// Update subgraph v2
11641175
let subgraph = createOrLoadSubgraph(
11651176
event.params.tokenId,
11661177
event.transaction.from,
11671178
event.block.timestamp,
1179+
graphNetwork,
11681180
)
11691181
subgraph.updatedAt = event.block.timestamp.toI32()
11701182
subgraph.owner = newOwner.id

0 commit comments

Comments
 (0)