Skip to content

Commit 0bf51df

Browse files
committed
common: don't allow indexingRules to be created for another protocolNetwork
1 parent 2bde452 commit 0bf51df

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

packages/indexer-common/src/indexer-management/models/indexing-rule.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ export interface IndexingRuleAttributes {
3030
decisionBasis: IndexingDecisionBasis
3131
requireSupported: boolean
3232
safety: boolean
33+
34+
// TODO: deprecate
3335
protocolNetwork: string
3436
}
3537

packages/indexer-common/src/indexer-management/resolvers/indexing-rules.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import { IndexerManagementDefaults, IndexerManagementResolverContext } from '../client'
1010
import { Transaction } from 'sequelize/types'
1111
import { fetchIndexingRules } from '../rules'
12-
import { processIdentifier } from '../../'
12+
import { processIdentifier, validateNetworkIdentifier } from '../../'
1313
import groupBy from 'lodash.groupby'
1414

1515
const resetGlobalRule = async (
@@ -73,7 +73,17 @@ export default {
7373
throw Error('Cannot set indexingRule without identifier')
7474
}
7575

76-
rule.protocolNetwork = network.networkMonitor.networkCAIPID
76+
if (
77+
rule.protocolNetwork &&
78+
validateNetworkIdentifier(rule.protocolNetwork) !==
79+
network.specification.networkIdentifier
80+
) {
81+
throw Error(
82+
`Cannot set indexingRule for a different network (${rule.protocolNetwork}) than configured ${network.specification.networkIdentifier}`,
83+
)
84+
}
85+
86+
rule.protocolNetwork = network.specification.networkIdentifier
7787

7888
const [identifier] = await processIdentifier(rule.identifier, {
7989
all: false,

0 commit comments

Comments
 (0)