Skip to content

Commit 3b542fd

Browse files
authored
Merge pull request #1723 from input-output-hk/jpraynaud/1722-fix-ctx-prover-performance-more-5-txs
Make Cardano transaction prover able to certify more than 5 transactions
2 parents adec324 + c188939 commit 3b542fd

File tree

6 files changed

+30
-21
lines changed

6 files changed

+30
-21
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/mithril-persistence/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-persistence"
3-
version = "0.2.0"
3+
version = "0.2.1"
44
description = "Common types, interfaces, and utilities to persist data for Mithril nodes."
55
authors = { workspace = true }
66
edition = { workspace = true }

internal/mithril-persistence/src/database/repository/cardano_transaction_repository.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,17 @@ impl CardanoTransactionRepository {
255255
&self,
256256
block_ranges: Vec<BlockRange>,
257257
) -> StdResult<Vec<CardanoTransactionRecord>> {
258-
self.connection
259-
.fetch_collect(GetCardanoTransactionQuery::by_block_ranges(block_ranges))
258+
let mut transactions = vec![];
259+
for block_range in block_ranges {
260+
let block_range_transactions: Vec<CardanoTransactionRecord> = self
261+
.connection
262+
.fetch_collect(GetCardanoTransactionQuery::by_block_ranges(vec![
263+
block_range,
264+
]))?;
265+
transactions.extend(block_range_transactions);
266+
}
267+
268+
Ok(transactions)
260269
}
261270

262271
/// Prune the transactions older than the given number of blocks (based on the block range root

mithril-aggregator/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-aggregator"
3-
version = "0.5.13"
3+
version = "0.5.14"
44
description = "A Mithril Aggregator server"
55
authors = { workspace = true }
66
edition = { workspace = true }

mithril-aggregator/src/dependency_injection/builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1377,7 +1377,7 @@ impl DependenciesBuilder {
13771377
Ok(self.message_service.as_ref().cloned().unwrap())
13781378
}
13791379

1380-
/// build Prover service
1380+
/// Build Prover service
13811381
pub async fn build_prover_service(&mut self) -> Result<Arc<dyn ProverService>> {
13821382
let mk_map_pool_size = self
13831383
.configuration

mithril-aggregator/src/services/prover.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -374,18 +374,18 @@ mod tests {
374374
test_data::filter_transactions_for_indices(&[1, 2, 4], &transactions);
375375
let test_data = test_data::build_test_data(&transactions_to_prove, &transactions);
376376
let prover = build_prover(
377-
|retriever_mock| {
377+
|transaction_retriever_mock| {
378378
let transaction_hashes_to_prove = test_data.transaction_hashes_to_prove.clone();
379379
let transactions_to_prove = transactions_to_prove.clone();
380-
retriever_mock
380+
transaction_retriever_mock
381381
.expect_get_by_hashes()
382382
.with(eq(transaction_hashes_to_prove))
383383
.return_once(move |_| Ok(transactions_to_prove));
384384

385385
let block_ranges_to_prove = test_data.block_ranges_to_prove.clone();
386386
let all_transactions_in_block_ranges_to_prove =
387387
test_data.all_transactions_in_block_ranges_to_prove.clone();
388-
retriever_mock
388+
transaction_retriever_mock
389389
.expect_get_by_block_ranges()
390390
.with(eq(block_ranges_to_prove))
391391
.return_once(move |_| Ok(all_transactions_in_block_ranges_to_prove));
@@ -428,18 +428,18 @@ mod tests {
428428
let mut test_data = test_data::build_test_data(&transactions_to_prove, &transactions);
429429
test_data.transaction_hashes_to_prove = vec!["tx-unknown-123".to_string()];
430430
let prover = build_prover(
431-
|retriever_mock| {
431+
|transaction_retriever_mock| {
432432
let transaction_hashes_to_prove = test_data.transaction_hashes_to_prove.clone();
433433
let transactions_to_prove = transactions_to_prove.clone();
434-
retriever_mock
434+
transaction_retriever_mock
435435
.expect_get_by_hashes()
436436
.with(eq(transaction_hashes_to_prove))
437437
.return_once(move |_| Ok(transactions_to_prove));
438438

439439
let block_ranges_to_prove = test_data.block_ranges_to_prove.clone();
440440
let all_transactions_in_block_ranges_to_prove =
441441
test_data.all_transactions_in_block_ranges_to_prove.clone();
442-
retriever_mock
442+
transaction_retriever_mock
443443
.expect_get_by_block_ranges()
444444
.with(eq(block_ranges_to_prove))
445445
.return_once(move |_| Ok(all_transactions_in_block_ranges_to_prove));
@@ -485,18 +485,18 @@ mod tests {
485485
]
486486
.concat();
487487
let prover = build_prover(
488-
|retriever_mock| {
488+
|transaction_retriever_mock| {
489489
let transaction_hashes_to_prove = test_data.transaction_hashes_to_prove.clone();
490490
let transactions_to_prove = transactions_to_prove.clone();
491-
retriever_mock
491+
transaction_retriever_mock
492492
.expect_get_by_hashes()
493493
.with(eq(transaction_hashes_to_prove))
494494
.return_once(move |_| Ok(transactions_to_prove));
495495

496496
let block_ranges_to_prove = test_data.block_ranges_to_prove.clone();
497497
let all_transactions_in_block_ranges_to_prove =
498498
test_data.all_transactions_in_block_ranges_to_prove.clone();
499-
retriever_mock
499+
transaction_retriever_mock
500500
.expect_get_by_block_ranges()
501501
.with(eq(block_ranges_to_prove))
502502
.return_once(move |_| Ok(all_transactions_in_block_ranges_to_prove));
@@ -539,8 +539,8 @@ mod tests {
539539
test_data::filter_transactions_for_indices(&[1, 2, 4], &transactions);
540540
let test_data = test_data::build_test_data(&transactions_to_prove, &transactions);
541541
let prover = build_prover(
542-
|retriever_mock| {
543-
retriever_mock
542+
|transaction_retriever_mock| {
543+
transaction_retriever_mock
544544
.expect_get_by_hashes()
545545
.returning(|_| Err(anyhow!("Error")));
546546
},
@@ -570,15 +570,15 @@ mod tests {
570570
test_data::filter_transactions_for_indices(&[1, 2, 4], &transactions);
571571
let test_data = test_data::build_test_data(&transactions_to_prove, &transactions);
572572
let prover = build_prover(
573-
|retriever_mock| {
573+
|transaction_retriever_mock| {
574574
let transactions_to_prove = transactions_to_prove.clone();
575-
retriever_mock
575+
transaction_retriever_mock
576576
.expect_get_by_hashes()
577577
.return_once(move |_| Ok(transactions_to_prove));
578578

579579
let all_transactions_in_block_ranges_to_prove =
580580
test_data.all_transactions_in_block_ranges_to_prove.clone();
581-
retriever_mock
581+
transaction_retriever_mock
582582
.expect_get_by_block_ranges()
583583
.return_once(move |_| Ok(all_transactions_in_block_ranges_to_prove));
584584
},

0 commit comments

Comments
 (0)