Skip to content

Commit ea87e44

Browse files
committed
Feat use last processed block
1 parent b63a928 commit ea87e44

4 files changed

Lines changed: 20 additions & 20 deletions

File tree

aggregation_mode/src/backend/config.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ pub struct Config {
1515
pub proof_aggregation_service_address: String,
1616
pub aligned_service_manager_address: String,
1717
pub ecdsa: ECDSAConfig,
18-
pub fetch_logs_from_secs_ago: u64,
19-
pub block_time_secs: u64,
18+
pub last_processed_block: u64
2019
}
2120

2221
impl Config {

aggregation_mode/src/backend/fetcher.rs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ pub enum ProofsFetcherError {
2424
pub struct ProofsFetcher {
2525
rpc_provider: RPCProvider,
2626
aligned_service_manager: AlignedLayerServiceManagerContract,
27-
fetch_from_secs_ago: u64,
28-
block_time_secs: u64,
27+
last_processed_block: u64
2928
}
3029

3130
impl ProofsFetcher {
@@ -41,28 +40,38 @@ impl ProofsFetcher {
4140
Self {
4241
rpc_provider,
4342
aligned_service_manager,
44-
fetch_from_secs_ago: config.fetch_logs_from_secs_ago,
45-
block_time_secs: config.block_time_secs,
43+
last_processed_block: config.last_processed_block,
4644
}
4745
}
4846

4947
pub async fn fetch(&self) -> Result<Vec<AlignedProof>, ProofsFetcherError> {
50-
let from_block = self.get_block_number_to_fetch_from().await?;
5148
info!(
5249
"Fetching proofs from batch logs starting from block number {}",
53-
from_block
50+
self.last_processed_block
5451
);
5552
// Subscribe to NewBatch event from AlignedServiceManager
5653
let logs = self
5754
.aligned_service_manager
5855
.NewBatchV3_filter()
59-
.from_block(from_block)
56+
.from_block(self.last_processed_block)
6057
.query()
6158
.await
6259
.map_err(|_| ProofsFetcherError::QueryingLogs)?;
6360

6461
info!("Logs collected {}", logs.len());
6562

63+
// Get current block
64+
self.last_processed_block = self
65+
.rpc_provider
66+
.get_block_number()
67+
.await
68+
.map_err(|_| ProofsFetcherError::BlockNumber)?;
69+
70+
info!(
71+
"Fetched proofs from batch logs upto block number {}",
72+
self.last_processed_block
73+
);
74+
6675
let mut proofs = vec![];
6776

6877
for (batch, _) in logs {
@@ -126,8 +135,6 @@ impl ProofsFetcher {
126135
.await
127136
.map_err(|_| ProofsFetcherError::BlockNumber)?;
128137

129-
let number_of_blocks_in_the_past = self.fetch_from_secs_ago / self.block_time_secs;
130-
131-
Ok(block_number.saturating_sub(number_of_blocks_in_the_past))
138+
Ok(block_number.saturating_sub(self.last_processed_block))
132139
}
133140
}

config-files/config-proof-aggregator-mock.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ proof_aggregation_service_address: "0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07"
33
eth_rpc_url: "http://localhost:8545"
44
eth_ws_url: "ws://localhost:8545"
55
max_proofs_in_queue: 1000
6-
# How far in the past should the service go to fetch batch logs
7-
fetch_logs_from_secs_ago: 86400 # 24hs
8-
# Anvil start with block time is 7 seconds
9-
block_time_secs: 7
6+
last_processed_block: 0
107

118
ecdsa:
129
private_key_store_path: "config-files/anvil.proof-aggregator.ecdsa.key.json"

config-files/config-proof-aggregator.yaml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ proof_aggregation_service_address: "0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc"
33
eth_rpc_url: "http://localhost:8545"
44
eth_ws_url: "ws://localhost:8545"
55
max_proofs_in_queue: 1000
6-
# How far in the past should the service go to fetch batch logs
7-
fetch_logs_from_secs_ago: 86400 # 24hs
8-
# Anvil start with block time is 7 seconds
9-
block_time_secs: 7
6+
last_processed_block: 0
107

118
ecdsa:
129
private_key_store_path: "config-files/anvil.proof-aggregator.ecdsa.key.json"

0 commit comments

Comments
 (0)