@@ -357,11 +357,10 @@ impl<C: Blockchain> TriggersAdapterWrapper<C> {
357357 SubgraphTriggerScanRange :: Range ( from, to) => {
358358 let hash_to_entities = self . fetch_entities_for_filters ( filters, from, to) . await ?;
359359
360- let block_numbers: BTreeSet < BlockNumber > = hash_to_entities
360+ let block_numbers = hash_to_entities
361361 . iter ( )
362- . flat_map ( |( _, entities) | entities. keys ( ) . copied ( ) )
363- . chain ( std:: iter:: once ( to) )
364- . collect ( ) ;
362+ . flat_map ( |( _, entities, _) | entities. keys ( ) . copied ( ) )
363+ . collect :: < BTreeSet < _ > > ( ) ;
365364
366365 let blocks = self
367366 . adapter
@@ -384,6 +383,7 @@ impl<C: Blockchain> TriggersAdapterWrapper<C> {
384383 Vec < (
385384 DeploymentHash ,
386385 BTreeMap < BlockNumber , Vec < EntitySourceOperation > > ,
386+ u32 ,
387387 ) > ,
388388 Error ,
389389 > {
@@ -399,7 +399,7 @@ impl<C: Blockchain> TriggersAdapterWrapper<C> {
399399 async move {
400400 let entities =
401401 get_entities_for_range ( & store, filter, & schema, from, to) . await ?;
402- Ok :: < _ , Error > ( ( filter. subgraph . clone ( ) , entities) )
402+ Ok :: < _ , Error > ( ( filter. subgraph . clone ( ) , entities, filter . manifest_idx ) )
403403 }
404404 } )
405405 } )
@@ -416,12 +416,14 @@ impl<C: Blockchain> TriggersAdapterWrapper<C> {
416416fn create_subgraph_trigger_from_entities (
417417 subgraph : & DeploymentHash ,
418418 entities : Vec < EntitySourceOperation > ,
419+ manifest_idx : u32 ,
419420) -> Vec < subgraph:: TriggerData > {
420421 entities
421422 . into_iter ( )
422423 . map ( |entity| subgraph:: TriggerData {
423424 source : subgraph. clone ( ) ,
424425 entity,
426+ source_idx : manifest_idx,
425427 } )
426428 . collect ( )
427429}
@@ -432,6 +434,7 @@ async fn create_subgraph_triggers<C: Blockchain>(
432434 subgraph_data : Vec < (
433435 DeploymentHash ,
434436 BTreeMap < BlockNumber , Vec < EntitySourceOperation > > ,
437+ u32 ,
435438 ) > ,
436439) -> Result < Vec < BlockWithTriggers < C > > , Error > {
437440 let logger_clone = logger. cheap_clone ( ) ;
@@ -441,10 +444,13 @@ async fn create_subgraph_triggers<C: Blockchain>(
441444 let block_number = block. number ( ) ;
442445 let mut all_trigger_data = Vec :: new ( ) ;
443446
444- for ( hash, entities) in subgraph_data. iter ( ) {
447+ for ( hash, entities, manifest_idx ) in subgraph_data. iter ( ) {
445448 if let Some ( block_entities) = entities. get ( & block_number) {
446- let trigger_data =
447- create_subgraph_trigger_from_entities ( hash, block_entities. clone ( ) ) ;
449+ let trigger_data = create_subgraph_trigger_from_entities (
450+ hash,
451+ block_entities. clone ( ) ,
452+ * manifest_idx,
453+ ) ;
448454 all_trigger_data. extend ( trigger_data) ;
449455 }
450456 }
0 commit comments