Skip to content

Commit 989f1d8

Browse files
committed
core, graph: Ensure subgraphs have at least one data source
1 parent db673cb commit 989f1d8

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

core/src/subgraph/validation.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ pub fn validate_manifest(
55
) -> Result<SubgraphManifest, SubgraphRegistrarError> {
66
let mut errors: Vec<SubgraphManifestValidationError> = Vec::new();
77

8+
// Validate that the manifest has at least one data source
9+
if manifest.data_sources.is_empty() {
10+
errors.push(SubgraphManifestValidationError::NoDataSources);
11+
}
12+
813
// Validate that the manifest has a `source` address in each data source
914
// which has call or block handlers
1015
let has_invalid_data_source = manifest.data_sources.iter().any(|data_source| {

graph/src/data/subgraph/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,8 @@ pub enum SubgraphAssignmentProviderEvent {
321321

322322
#[derive(Fail, Debug)]
323323
pub enum SubgraphManifestValidationError {
324+
#[fail(display = "subgraph has no data sources")]
325+
NoDataSources,
324326
#[fail(display = "subgraph source address is required")]
325327
SourceAddressRequired,
326328
#[fail(display = "subgraph cannot index data from different Ethereum networks")]

0 commit comments

Comments
 (0)