Skip to content

Commit d4330bb

Browse files
committed
feat: adapt signer with the new message structure
1 parent 48c5115 commit d4330bb

File tree

6 files changed

+51
-25
lines changed

6 files changed

+51
-25
lines changed

mithril-common/src/entities/epoch_settings.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,8 @@ pub struct EpochSettings {
2121
pub next_signers: Vec<Signer>,
2222

2323
/// Cardano transactions signing configuration for the current epoch
24-
pub current_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
24+
pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
25+
26+
/// Cardano transactions signing configuration for the next epoch
27+
pub next_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
2528
}

mithril-common/src/test_utils/fake_data.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,10 @@ pub fn epoch_settings() -> entities::EpochSettings {
6666
let current_signers = signers[1..3].to_vec();
6767
let next_signers = signers[2..5].to_vec();
6868

69-
// Cardano transactions signing configuration for the current epoch
70-
let current_cardano_transactions_signing_config =
69+
// Cardano transactions signing configuration
70+
let cardano_transactions_signing_config =
71+
Some(entities::CardanoTransactionsSigningConfig::dummy());
72+
let next_cardano_transactions_signing_config =
7173
Some(entities::CardanoTransactionsSigningConfig::dummy());
7274

7375
// Epoch settings
@@ -77,7 +79,8 @@ pub fn epoch_settings() -> entities::EpochSettings {
7779
next_protocol_parameters,
7880
current_signers,
7981
next_signers,
80-
current_cardano_transactions_signing_config,
82+
cardano_transactions_signing_config,
83+
next_cardano_transactions_signing_config,
8184
}
8285
}
8386

mithril-signer/src/message_adapters/from_epoch_settings.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ impl TryFromMessageAdapter<EpochSettingsMessage, EpochSettings> for FromEpochSet
1919
.with_context(|| "'FromMessageAdapter' can not convert the current signers")?,
2020
next_signers: SignerMessagePart::try_into_signers(message.next_signers)
2121
.with_context(|| "'FromMessageAdapter' can not convert the next signers")?,
22-
current_cardano_transactions_signing_config: message
23-
.current_cardano_transactions_signing_config,
22+
cardano_transactions_signing_config: message.cardano_transactions_signing_config,
23+
next_cardano_transactions_signing_config: message
24+
.next_cardano_transactions_signing_config,
2425
};
2526
Ok(epoch_settings)
2627
}

mithril-signer/src/runtime/runner.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,12 @@ mod tests {
548548
async fn next_signers_with_stake(&self) -> StdResult<Vec<SignerWithStake>> {
549549
Ok(vec![])
550550
}
551-
fn current_cardano_transactions_signing_config(
551+
fn cardano_transactions_signing_config(
552+
&self,
553+
) -> StdResult<&Option<CardanoTransactionsSigningConfig>> {
554+
Ok(&None)
555+
}
556+
fn next_cardano_transactions_signing_config(
552557
&self,
553558
) -> StdResult<&Option<CardanoTransactionsSigningConfig>> {
554559
Ok(&None)

mithril-signer/src/runtime/state_machine.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,8 @@ mod tests {
548548
next_protocol_parameters: fake_data::protocol_parameters(),
549549
current_signers: vec![],
550550
next_signers: vec![],
551-
current_cardano_transactions_signing_config: None,
551+
cardano_transactions_signing_config: None,
552+
next_cardano_transactions_signing_config: None,
552553
};
553554
let known_epoch = Epoch(4);
554555
runner

mithril-signer/src/services/epoch_service.rs

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,12 @@ pub trait EpochService: Sync + Send {
5151
async fn next_signers_with_stake(&self) -> StdResult<Vec<SignerWithStake>>;
5252

5353
/// Get the cardano transactions signing configuration for the current epoch
54-
fn current_cardano_transactions_signing_config(
54+
fn cardano_transactions_signing_config(
55+
&self,
56+
) -> StdResult<&Option<CardanoTransactionsSigningConfig>>;
57+
58+
/// Get the cardano transactions signing configuration for the next epoch
59+
fn next_cardano_transactions_signing_config(
5560
&self,
5661
) -> StdResult<&Option<CardanoTransactionsSigningConfig>>;
5762

@@ -68,7 +73,8 @@ struct EpochData {
6873
next_protocol_parameters: ProtocolParameters,
6974
current_signers: Vec<Signer>,
7075
next_signers: Vec<Signer>,
71-
current_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
76+
cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
77+
next_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
7278
}
7379

7480
/// Implementation of the [epoch service][EpochService].
@@ -145,8 +151,9 @@ impl EpochService for MithrilEpochService {
145151
next_protocol_parameters: epoch_settings.next_protocol_parameters,
146152
current_signers: epoch_settings.current_signers,
147153
next_signers: epoch_settings.next_signers,
148-
current_cardano_transactions_signing_config: epoch_settings
149-
.current_cardano_transactions_signing_config,
154+
cardano_transactions_signing_config: epoch_settings.cardano_transactions_signing_config,
155+
next_cardano_transactions_signing_config: epoch_settings
156+
.next_cardano_transactions_signing_config,
150157
});
151158

152159
Ok(())
@@ -186,12 +193,16 @@ impl EpochService for MithrilEpochService {
186193
.await
187194
}
188195

189-
fn current_cardano_transactions_signing_config(
196+
fn cardano_transactions_signing_config(
197+
&self,
198+
) -> StdResult<&Option<CardanoTransactionsSigningConfig>> {
199+
Ok(&self.unwrap_data()?.cardano_transactions_signing_config)
200+
}
201+
202+
fn next_cardano_transactions_signing_config(
190203
&self,
191204
) -> StdResult<&Option<CardanoTransactionsSigningConfig>> {
192-
Ok(&self
193-
.unwrap_data()?
194-
.current_cardano_transactions_signing_config)
205+
Ok(&self.unwrap_data()?.next_cardano_transactions_signing_config)
195206
}
196207

197208
fn is_signer_included_in_current_stake_distribution(
@@ -319,9 +330,8 @@ mod tests {
319330
assert!(service.next_signers().is_err());
320331
assert!(service.current_signers_with_stake().await.is_err());
321332
assert!(service.next_signers_with_stake().await.is_err());
322-
assert!(service
323-
.current_cardano_transactions_signing_config()
324-
.is_err());
333+
assert!(service.cardano_transactions_signing_config().is_err());
334+
assert!(service.next_cardano_transactions_signing_config().is_err());
325335
}
326336

327337
#[test]
@@ -371,13 +381,16 @@ mod tests {
371381
*service.next_protocol_parameters().unwrap()
372382
);
373383

374-
// Check current_cardano_transactions_signing_config
384+
// Check cardano_transactions_signing_config
375385
assert_eq!(
376-
epoch_settings.current_cardano_transactions_signing_config,
377-
*service
378-
.current_cardano_transactions_signing_config()
379-
.unwrap()
380-
)
386+
epoch_settings.cardano_transactions_signing_config,
387+
*service.cardano_transactions_signing_config().unwrap()
388+
);
389+
// Check next_cardano_transactions_signing_config
390+
assert_eq!(
391+
epoch_settings.next_cardano_transactions_signing_config,
392+
*service.next_cardano_transactions_signing_config().unwrap()
393+
);
381394
}
382395

383396
#[tokio::test]

0 commit comments

Comments
 (0)