@@ -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