@@ -84,7 +84,7 @@ impl RawDataSource {
8484 . map_err ( |e| e. source_context ( "invalid `source`" ) ) ?;
8585
8686 let transformer = transformer
87- . resolve ( & logger, link_resolver, amp_client, & source)
87+ . resolve ( & logger, link_resolver, amp_client, & network , & source)
8888 . await
8989 . map_err ( |e| e. source_context ( "invalid `transformer`" ) ) ?;
9090
@@ -222,6 +222,7 @@ impl RawTransformer {
222222 logger : & Logger ,
223223 link_resolver : & dyn LinkResolver ,
224224 amp_client : & impl amp:: Client ,
225+ network : & str ,
225226 source : & Source ,
226227 ) -> Result < Transformer , Error > {
227228 let Self {
@@ -232,8 +233,16 @@ impl RawTransformer {
232233 Self :: validate_api_version ( & api_version) ?;
233234
234235 let abis = Self :: resolve_abis ( logger, link_resolver, abis) . await ?;
235- let tables =
236- Self :: resolve_tables ( logger, link_resolver, amp_client, tables, source, & abis) . await ?;
236+ let tables = Self :: resolve_tables (
237+ logger,
238+ link_resolver,
239+ amp_client,
240+ network,
241+ tables,
242+ source,
243+ & abis,
244+ )
245+ . await ?;
237246
238247 Ok ( Transformer {
239248 api_version,
@@ -285,6 +294,7 @@ impl RawTransformer {
285294 logger : & Logger ,
286295 link_resolver : & dyn LinkResolver ,
287296 amp_client : & impl amp:: Client ,
297+ network : & str ,
288298 tables : Vec < RawTable > ,
289299 source : & Source ,
290300 abis : & [ Abi ] ,
@@ -308,7 +318,7 @@ impl RawTransformer {
308318 ) ;
309319
310320 table
311- . resolve ( & logger, link_resolver, amp_client, source, abis)
321+ . resolve ( & logger, link_resolver, amp_client, network , source, abis)
312322 . await
313323 . map_err ( |e| e. source_context ( format ! ( "invalid `tables` at index {i}" ) ) )
314324 } ) ;
@@ -400,6 +410,7 @@ impl RawTable {
400410 logger : & Logger ,
401411 link_resolver : & dyn LinkResolver ,
402412 amp_client : & impl amp:: Client ,
413+ network : & str ,
403414 source : & Source ,
404415 abis : & [ Abi ] ,
405416 ) -> Result < Table , Error > {
@@ -426,6 +437,7 @@ impl RawTable {
426437 let block_range_query_builder = Self :: resolve_block_range_query_builder (
427438 logger,
428439 amp_client,
440+ network,
429441 source,
430442 query,
431443 schema. clone ( ) ,
@@ -522,6 +534,7 @@ impl RawTable {
522534 async fn resolve_block_range_query_builder (
523535 logger : & Logger ,
524536 amp_client : & impl amp:: Client ,
537+ network : & str ,
525538 source : & Source ,
526539 query : ValidQuery ,
527540 schema : Schema ,
@@ -549,7 +562,13 @@ impl RawTable {
549562 . iter ( )
550563 . map ( |table| ( source. dataset . as_str ( ) , table. as_str ( ) ) )
551564 // TODO: Replace hardcoded values with schema metadata sources when available
552- . chain ( [ ( "eth_firehose" , "blocks" ) , ( "eth_rpc" , "blocks" ) ] ) ;
565+ . chain ( match network {
566+ "ethereum-mainnet" => vec ! [ ( "edgeandnode/ethereum_mainnet" , "blocks" ) ] ,
567+ "base-mainnet" => vec ! [ ( "edgeandnode/base_mainnet" , "blocks" ) ] ,
568+ "base-sepolia" => vec ! [ ( "edgeandnode/base_sepolia" , "blocks" ) ] ,
569+ "arbitrum-one" => vec ! [ ( "edgeandnode/arbitrum_one" , "blocks" ) ] ,
570+ _ => vec ! [ ] ,
571+ } ) ;
553572
554573 for ( dataset, table) in context_sources_iter {
555574 let context_logger = logger. new ( slog:: o!(
0 commit comments