Skip to content

Commit b7c238d

Browse files
author
Clément Turmel
committed
refactor(client-lib): restore compute_cardano_database_message as before
1 parent d675e3d commit b7c238d

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

mithril-client/src/message.rs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ use mithril_common::{
2828
signable_builder::CardanoStakeDistributionSignableBuilder,
2929
};
3030

31+
#[cfg(feature = "fs")]
32+
use mithril_common::crypto_helper::MKProof;
33+
3134
use crate::{
3235
CardanoStakeDistribution, MithrilCertificate, MithrilResult, MithrilSigner,
3336
MithrilStakeDistribution, VerifiedCardanoTransactions,
@@ -240,12 +243,27 @@ impl MessageBuilder {
240243
missing_files
241244
}
242245

246+
/// Compute message for a Cardano database.
247+
pub async fn compute_cardano_database_message(
248+
&self,
249+
certificate: &MithrilCertificate,
250+
merkle_proof: &MKProof,
251+
) -> MithrilResult<ProtocolMessage> {
252+
let mut message = certificate.protocol_message.clone();
253+
message.set_message_part(
254+
ProtocolMessagePartKey::CardanoDatabaseMerkleRoot,
255+
merkle_proof.root().to_hex(),
256+
);
257+
Ok(message)
258+
}
259+
260+
243261
///TODO: TO REMOVE
244262
/// Compute message for a Cardano database.
245263
///
246264
/// This function first lists missing immutables files (if `allow_missing` is false)
247265
/// then computes the digests for the given range and finally computes the Merkle proof.
248-
pub async fn compute_cardano_database_message(
266+
pub async fn compute_cardano_database_message_OLD(
249267
&self,
250268
certificate: &CertificateMessage,
251269
cardano_database_snapshot: &CardanoDatabaseSnapshotMessage,
@@ -558,7 +576,7 @@ mod tests {
558576
.await;
559577

560578
let message = MessageBuilder::new()
561-
.compute_cardano_database_message(
579+
.compute_cardano_database_message_OLD(
562580
&certificate,
563581
&CardanoDatabaseSnapshotMessage::dummy(),
564582
&immutable_file_range_to_prove,
@@ -594,7 +612,7 @@ mod tests {
594612

595613
let allow_missing = false;
596614
let error = MessageBuilder::new()
597-
.compute_cardano_database_message(
615+
.compute_cardano_database_message_OLD(
598616
&certificate,
599617
&CardanoDatabaseSnapshotMessage::dummy(),
600618
&immutable_file_range_to_prove,
@@ -644,7 +662,7 @@ mod tests {
644662

645663
let allow_missing = true;
646664
MessageBuilder::new()
647-
.compute_cardano_database_message(
665+
.compute_cardano_database_message_OLD(
648666
&certificate,
649667
&CardanoDatabaseSnapshotMessage::dummy(),
650668
&immutable_file_range_to_prove,
@@ -680,7 +698,7 @@ mod tests {
680698

681699
let error = MessageBuilder::new()
682700
.with_logger(logger)
683-
.compute_cardano_database_message(
701+
.compute_cardano_database_message_OLD(
684702
&certificate,
685703
&CardanoDatabaseSnapshotMessage::dummy(),
686704
&immutable_file_range_to_prove,
@@ -733,7 +751,7 @@ mod tests {
733751
tamper_immutable_files(&database_dir, &files_to_tamper);
734752

735753
let error = MessageBuilder::new()
736-
.compute_cardano_database_message(
754+
.compute_cardano_database_message_OLD(
737755
&certificate,
738756
&CardanoDatabaseSnapshotMessage::dummy(),
739757
&immutable_file_range_to_prove,
@@ -800,7 +818,7 @@ mod tests {
800818
.await;
801819

802820
let error = MessageBuilder::new()
803-
.compute_cardano_database_message(
821+
.compute_cardano_database_message_OLD(
804822
&certificate,
805823
&CardanoDatabaseSnapshotMessage::dummy(),
806824
&ImmutableFileRange::Range(1, 15),

mithril-client/tests/cardano_db_snapshot_list_get_download_verify.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,9 @@ async fn cardano_db_snapshot_list_get_download_verify() {
138138
.await
139139
.unwrap();
140140

141-
let message = MessageBuilder::new()
142-
.compute_cardano_database_message(
141+
let merkle_proof = client
142+
.cardano_database_v2()
143+
.verify_cardano_database(
143144
&certificate,
144145
&cardano_db_snapshot,
145146
&immutable_file_range,
@@ -148,6 +149,11 @@ async fn cardano_db_snapshot_list_get_download_verify() {
148149
&verified_digests,
149150
)
150151
.await
152+
.unwrap();
153+
154+
let message = MessageBuilder::new()
155+
.compute_cardano_database_message(&certificate, &merkle_proof)
156+
.await
151157
.expect("Computing cardano database snapshot message should not fail");
152158

153159
assert!(

0 commit comments

Comments
 (0)