diff --git a/core/src/manifest/network.rs b/core/src/manifest/network.rs index ed84e3e2..c9593507 100644 --- a/core/src/manifest/network.rs +++ b/core/src/manifest/network.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use super::core::{deserialize_option_u64_from_string, serialize_option_u64_as_string}; -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Copy, Serialize, Deserialize)] pub enum ProviderType { Rpc, Hypersync, @@ -17,6 +17,7 @@ pub struct Network { pub rpc: String, + #[serde(default = "default_provider")] pub kind: ProviderType, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -33,3 +34,7 @@ pub struct Network { #[serde(default, skip_serializing_if = "Option::is_none")] pub disable_logs_bloom_checks: Option, } + +fn default_provider() -> ProviderType { + ProviderType::Rpc +} \ No newline at end of file diff --git a/core/src/provider.rs b/core/src/provider.rs index fd35b487..0eaec67f 100644 --- a/core/src/provider.rs +++ b/core/src/provider.rs @@ -112,7 +112,7 @@ impl ProviderInterface for JsonRpcCachedProvider { self.provider.get_block_number().await } - pub async fn get_logs( + async fn get_logs( &self, filter: &RindexerEventFilter, ) -> Result, ProviderError> { @@ -185,7 +185,7 @@ impl ProviderInterface for HyperSyncProvider { .map_err(|err| ProviderError::CustomError(err.to_string())) } - async fn get_logs(&self, filter: &RindexerEventFilter) -> Result, ProviderError> { + async fn get_logs(&self, filter: &RindexerEventFilter) -> Result, ProviderError> { let raw_filter = filter.raw_filter().clone(); let all_log_fields: BTreeSet = @@ -260,8 +260,11 @@ impl ProviderInterface for HyperSyncProvider { .logs .into_iter() .flatten() - .filter_map(|log| log.try_into().ok()) - .collect::>()) + .filter_map(|log| { + let log = log.try_into().ok()?; + Some(WrappedLog{inner: log, block_timestamp: None}) + }) + .collect::>()) } @@ -363,7 +366,7 @@ impl CreateNetworkProvider { for network in &manifest.networks { let provider = create_client( &network.rpc, - network.kind.clone(), + network.kind, network.compute_units_per_second, network.max_block_range, manifest.get_custom_headers(),