Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
89a9209
feature(common): introduce a new BlockNumberOffset structure, and imp…
turmelclem Mar 27, 2026
9a80276
refactor(common): make CardanoTransactionsBuilder use dedicated Block…
turmelclem Mar 27, 2026
7c5fcf9
refactor(common, aggregator): add BlockNumberOffset in CardanoBlocksT…
turmelclem Mar 30, 2026
f1a5a72
feature(common, persistence, aggregator): use BlockNumberOffset in Ca…
turmelclem Mar 30, 2026
7d26a77
refactor(common, aggregator, signer): make git CardanoTransactionsSi…
turmelclem Mar 30, 2026
87e5b23
refactor(aggregagor, common): update signable builder beacon with tup…
turmelclem Mar 31, 2026
a1fa458
feature(common): sign the blockNumberOffset for CardanoBlockTransactions
turmelclem Mar 31, 2026
6532a31
refactor(aggregator): use BlockNumberOffset type in CardanoBlocksTran…
turmelclem Mar 31, 2026
4dfcdf1
refactor(common): move arithemic operation between blockNumber and bl…
turmelclem Mar 31, 2026
0f40922
feature(aggregator, common, internal, openAPI): add security paramete…
turmelclem Apr 1, 2026
9b58f58
feature(client-library): verify that the computing of cardano blocks/…
turmelclem Apr 2, 2026
fd1d2f4
feature(client-CLI): show depth of the certification (security parame…
turmelclem Apr 2, 2026
ed1d01f
feature(examples): add block depth (security parameter) in result of …
turmelclem Apr 2, 2026
6e0b0c8
tests(aggregator-fake): update default data with blockNumberOffset fo…
turmelclem Apr 3, 2026
0e54d96
feature(aggregator): Delete blocks and transactions and related records
turmelclem Apr 3, 2026
1a6bb77
refactor(chore): change CardanoBlocksTransactionsSigningConfig securi…
turmelclem Apr 3, 2026
8fa8a73
tests(aggregator): implemment SignedEntityType CardanoBlocksTransactions
turmelclem Apr 3, 2026
4a4521b
refactor(common): remove test case with CardanoTransactions and Carda…
turmelclem Apr 3, 2026
606eb90
chore: upgrade crate versions and `openapi.yaml` version
turmelclem Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion examples/client-cardano-block/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "client-cardano-block"
description = "Mithril client cardano-block example"
version = "0.1.1"
version = "0.1.2"
authors = ["dev@iohk.io", "mithril-dev@iohk.io"]
documentation = "https://mithril.network/doc"
edition = "2021"
Expand Down
7 changes: 5 additions & 2 deletions examples/client-cardano-block/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,11 @@ pub fn log_certify_information(
println!("Following Cardano blocks have been successfully certified by Mithril.");
for block in verified_blocks.certified_blocks() {
println!(
r###"- block hash '{}', block number '{}', block slot '{}'"###,
block.block_hash, block.block_number, block.slot_number
r###"- block hash '{}', block number '{}', block slot '{}', block depth '{}'"###,
block.block_hash,
block.block_number,
block.slot_number,
verified_blocks.security_parameter()
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion examples/client-cardano-transaction-v2/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "client-cardano-transaction-v2"
description = "Mithril client cardano-transaction-v2 example"
version = "0.1.1"
version = "0.1.2"
authors = ["dev@iohk.io", "mithril-dev@iohk.io"]
documentation = "https://mithril.network/doc"
edition = "2021"
Expand Down
5 changes: 3 additions & 2 deletions examples/client-cardano-transaction-v2/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,12 @@ pub fn log_certify_information(
println!("Following Cardano transactions have been successfully certified by Mithril.");
for transaction in verified_transactions.certified_transactions() {
println!(
r###"- transaction hash '{}', block hash '{}', block number '{}', transaction slot '{}'"###,
r###"- transaction hash '{}', block hash '{}', block number '{}', transaction slot '{}', block depth '{}'"###,
transaction.transaction_hash,
transaction.block_hash,
transaction.block_number,
transaction.slot_number
transaction.slot_number,
verified_transactions.security_parameter()
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion internal/mithril-aggregator-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-aggregator-client"
version = "0.1.9"
version = "0.1.10"
description = "Client to request data from a Mithril Aggregator"
authors.workspace = true
documentation.workspace = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ mod tests {
}),
non_certified_blocks: vec![],
latest_block_number: Default::default(),
security_parameter: Default::default(),
};
let _server_mock = server.mock(|when, then| {
when.path("/proof/v2/cardano-block")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ mod tests {
}),
non_certified_transactions: vec![],
latest_block_number: Default::default(),
security_parameter: Default::default(),
};

let _server_mock = server.mock(|when, then| {
Expand Down
2 changes: 1 addition & 1 deletion internal/mithril-persistence/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-persistence"
version = "0.2.70"
version = "0.2.71"
description = "Common types, interfaces, and utilities to persist data for Mithril nodes."
authors = { workspace = true }
edition = { workspace = true }
Expand Down
16 changes: 13 additions & 3 deletions internal/mithril-persistence/src/database/hydrator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
use serde::Deserialize;

use mithril_common::entities::{
BlockNumber, CardanoDbBeacon, Epoch, SignedEntityType, SignedEntityTypeDiscriminants,
BlockNumber, BlockNumberOffset, CardanoDbBeacon, Epoch, SignedEntityType,
SignedEntityTypeDiscriminants,
};

use crate::sqlite::HydrationError;
Expand Down Expand Up @@ -90,6 +91,7 @@ impl Hydrator {
struct CardanoBlocksTransactionsBeacon {
epoch: Epoch,
block_number: BlockNumber,
block_number_offset: BlockNumberOffset,
}

let beacon: CardanoBlocksTransactionsBeacon = serde_json::from_str(beacon_str)
Expand All @@ -98,7 +100,11 @@ impl Hydrator {
"Invalid Beacon JSON in open_message.beacon: '{beacon_str}'. Error: {e}"
))
})?;
SignedEntityType::CardanoBlocksTransactions(beacon.epoch, beacon.block_number)
SignedEntityType::CardanoBlocksTransactions(
beacon.epoch,
beacon.block_number,
beacon.block_number_offset,
)
}
SignedEntityTypeDiscriminants::CardanoDatabase => {
let beacon: CardanoDbBeacon = serde_json::from_str(beacon_str).map_err(|e| {
Expand Down Expand Up @@ -132,7 +138,11 @@ mod tests {

#[test]
fn hydrate_cardano_blocks_transactions_signed_entity_type() {
let expected = SignedEntityType::CardanoBlocksTransactions(Epoch(37), BlockNumber(79));
let expected = SignedEntityType::CardanoBlocksTransactions(
Epoch(37),
BlockNumber(79),
BlockNumberOffset(5),
);
let signed_entity = Hydrator::hydrate_signed_entity_type(
SignedEntityTypeDiscriminants::CardanoBlocksTransactions.index(),
&expected.get_json_beacon().unwrap(),
Expand Down
2 changes: 1 addition & 1 deletion internal/mithril-protocol-config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-protocol-config"
version = "0.1.6"
version = "0.1.7"
description = "Configuraton parameters for Mithril network"
authors = { workspace = true }
edition = { workspace = true }
Expand Down
12 changes: 6 additions & 6 deletions internal/mithril-protocol-config/src/http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ mod tests {
use std::sync::Arc;

use mithril_common::entities::{
BlockNumber, CardanoBlocksTransactionsSigningConfig, CardanoTransactionsSigningConfig,
ProtocolParameters, SignedEntityTypeDiscriminants,
BlockNumber, BlockNumberOffset, CardanoBlocksTransactionsSigningConfig,
CardanoTransactionsSigningConfig, ProtocolParameters, SignedEntityTypeDiscriminants,
};
use mithril_common::messages::ProtocolConfigurationMessage;
use mithril_common::test::double::Dummy;
Expand All @@ -126,12 +126,12 @@ mod tests {
let configuration_epoch_41 = ProtocolConfigurationMessage {
protocol_parameters: ProtocolParameters::new(1000, 100, 0.1),
cardano_transactions_signing_config: Some(CardanoTransactionsSigningConfig {
security_parameter: BlockNumber(1),
security_parameter: BlockNumberOffset(1),
step: BlockNumber(10),
}),
cardano_blocks_transactions_signing_config: Some(
CardanoBlocksTransactionsSigningConfig {
security_parameter: BlockNumber(11),
security_parameter: BlockNumberOffset(11),
step: BlockNumber(110),
},
),
Expand Down Expand Up @@ -188,7 +188,7 @@ mod tests {
.signed_entity_types_config
.cardano_transactions,
Some(CardanoTransactionsSigningConfig {
security_parameter: BlockNumber(1),
security_parameter: BlockNumberOffset(1),
step: BlockNumber(10),
})
);
Expand All @@ -199,7 +199,7 @@ mod tests {
.signed_entity_types_config
.cardano_blocks_transactions,
Some(CardanoBlocksTransactionsSigningConfig {
security_parameter: BlockNumber(11),
security_parameter: BlockNumberOffset(11),
step: BlockNumber(110),
})
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ impl MithrilNetworkConfigurationProvider for FakeMithrilNetworkConfigurationProv
#[cfg(test)]
mod tests {
use mithril_common::entities::{
BlockNumber, CardanoBlocksTransactionsSigningConfig, CardanoTransactionsSigningConfig,
Epoch, ProtocolParameters, SignedEntityTypeDiscriminants,
BlockNumber, BlockNumberOffset, CardanoBlocksTransactionsSigningConfig,
CardanoTransactionsSigningConfig, Epoch, ProtocolParameters, SignedEntityTypeDiscriminants,
};

use crate::{
Expand All @@ -94,11 +94,11 @@ mod tests {
signed_entity_types_config: SignedEntityTypeConfiguration {
cardano_transactions: Some(CardanoTransactionsSigningConfig {
step: BlockNumber(10),
security_parameter: BlockNumber(100),
security_parameter: BlockNumberOffset(100),
}),
cardano_blocks_transactions: Some(CardanoBlocksTransactionsSigningConfig {
step: BlockNumber(11),
security_parameter: BlockNumber(111),
security_parameter: BlockNumberOffset(111),
}),
},
};
Expand All @@ -113,11 +113,11 @@ mod tests {
signed_entity_types_config: SignedEntityTypeConfiguration {
cardano_transactions: Some(CardanoTransactionsSigningConfig {
step: BlockNumber(20),
security_parameter: BlockNumber(200),
security_parameter: BlockNumberOffset(200),
}),
cardano_blocks_transactions: Some(CardanoBlocksTransactionsSigningConfig {
step: BlockNumber(22),
security_parameter: BlockNumber(222),
security_parameter: BlockNumberOffset(222),
}),
},
};
Expand All @@ -132,11 +132,11 @@ mod tests {
signed_entity_types_config: SignedEntityTypeConfiguration {
cardano_transactions: Some(CardanoTransactionsSigningConfig {
step: BlockNumber(30),
security_parameter: BlockNumber(300),
security_parameter: BlockNumberOffset(300),
}),
cardano_blocks_transactions: Some(CardanoBlocksTransactionsSigningConfig {
step: BlockNumber(33),
security_parameter: BlockNumber(333),
security_parameter: BlockNumberOffset(333),
}),
},
};
Expand Down
2 changes: 1 addition & 1 deletion mithril-aggregator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-aggregator"
version = "0.8.41"
version = "0.8.42"
description = "A Mithril Aggregator server"
authors = { workspace = true }
edition = { workspace = true }
Expand Down
Loading
Loading