Skip to content

Commit 27753f4

Browse files
authored
Merge pull request #2694 from input-output-hk/ctl/2691-prepare-decentralization-parameters
phase 0: prepare decentralization parameters
2 parents d1a61c4 + 2e1ceb7 commit 27753f4

File tree

18 files changed

+72
-123
lines changed

18 files changed

+72
-123
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
As a minor extension, we have adopted a slightly different versioning convention for the Mithril distributions (<https://mithril.network/doc/adr/3#decision>)
99

10+
## Mithril Distribution [XXXX] - UNRELEASED
11+
12+
- **BREAKING** changes in aggregator OpenAPI: removed the `next_cardano_transactions_signing_config` in `/epoch-settings` route.
13+
14+
- Crates versions:
15+
16+
| Crate | Version |
17+
| ----- | ------- |
18+
| N/A | `-` |
19+
1020
## Mithril Distribution [2537] - 2025-09-17
1121

1222
- Client library, CI and WASM:

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.

mithril-aggregator/src/entities/leader_aggregator_epoch_settings.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,4 @@ pub struct LeaderAggregatorEpochSettings {
1919

2020
/// Cardano transactions signing configuration for the current epoch
2121
pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
22-
23-
/// Cardano transactions signing configuration for the next epoch
24-
pub next_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
2522
}

mithril-aggregator/src/message_adapters/from_epoch_settings.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ impl TryFromMessageAdapter<EpochSettingsMessage, LeaderAggregatorEpochSettings>
2222
next_signers: SignerMessagePart::try_into_signers(message.next_signers)
2323
.with_context(|| "'FromMessageAdapter' can not convert the next signers")?,
2424
cardano_transactions_signing_config: message.cardano_transactions_signing_config,
25-
next_cardano_transactions_signing_config: message
26-
.next_cardano_transactions_signing_config,
2725
};
2826

2927
Ok(epoch_settings)

mithril-aggregator/src/services/epoch_service.rs

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,6 @@ pub trait EpochService: Sync + Send {
8080
&self,
8181
) -> StdResult<&CardanoTransactionsSigningConfig>;
8282

83-
/// Get next cardano transactions signing configuration used in next epoch
84-
fn next_cardano_transactions_signing_config(
85-
&self,
86-
) -> StdResult<&CardanoTransactionsSigningConfig>;
87-
8883
/// Get aggregate verification key for current epoch
8984
fn current_aggregate_verification_key(&self) -> StdResult<&ProtocolAggregateVerificationKey>;
9085

@@ -470,15 +465,6 @@ impl EpochService for MithrilEpochService {
470465
.cardano_transactions_signing_config)
471466
}
472467

473-
fn next_cardano_transactions_signing_config(
474-
&self,
475-
) -> StdResult<&CardanoTransactionsSigningConfig> {
476-
Ok(&self
477-
.unwrap_data()?
478-
.next_epoch_settings
479-
.cardano_transactions_signing_config)
480-
}
481-
482468
fn current_aggregate_verification_key(&self) -> StdResult<&ProtocolAggregateVerificationKey> {
483469
Ok(&self.unwrap_computed_data()?.aggregate_verification_key)
484470
}
@@ -772,15 +758,6 @@ impl EpochService for FakeEpochService {
772758
.cardano_transactions_signing_config)
773759
}
774760

775-
fn next_cardano_transactions_signing_config(
776-
&self,
777-
) -> StdResult<&CardanoTransactionsSigningConfig> {
778-
Ok(&self
779-
.unwrap_data()?
780-
.next_epoch_settings
781-
.cardano_transactions_signing_config)
782-
}
783-
784761
fn current_aggregate_verification_key(&self) -> StdResult<&ProtocolAggregateVerificationKey> {
785762
Ok(&self.unwrap_computed_data()?.aggregate_verification_key)
786763
}
@@ -873,7 +850,6 @@ mod tests {
873850
protocol_parameters: ProtocolParameters,
874851
next_protocol_parameters: ProtocolParameters,
875852
cardano_signing_config: CardanoTransactionsSigningConfig,
876-
next_cardano_signing_config: CardanoTransactionsSigningConfig,
877853
signer_registration_protocol_parameters: ProtocolParameters,
878854
current_signers_with_stake: BTreeSet<SignerWithStake>,
879855
next_signers_with_stake: BTreeSet<SignerWithStake>,
@@ -904,9 +880,6 @@ mod tests {
904880
cardano_signing_config: service
905881
.current_cardano_transactions_signing_config()?
906882
.clone(),
907-
next_cardano_signing_config: service
908-
.next_cardano_transactions_signing_config()?
909-
.clone(),
910883
current_signers_with_stake: service
911884
.current_signers_with_stake()?
912885
.clone()
@@ -1103,7 +1076,6 @@ mod tests {
11031076
next_protocol_parameters: next_epoch_fixture.protocol_parameters(),
11041077
signer_registration_protocol_parameters,
11051078
cardano_signing_config: CardanoTransactionsSigningConfig::dummy(),
1106-
next_cardano_signing_config: CardanoTransactionsSigningConfig::dummy(),
11071079
current_signers_with_stake: current_epoch_fixture
11081080
.signers_with_stake()
11091081
.into_iter()
@@ -1336,10 +1308,6 @@ mod tests {
13361308
"current_cardano_transactions_signing_config",
13371309
service.current_cardano_transactions_signing_config().err(),
13381310
),
1339-
(
1340-
"next_cardano_transactions_signing_config",
1341-
service.next_cardano_transactions_signing_config().err(),
1342-
),
13431311
(
13441312
"current_signers_with_stake",
13451313
service.current_signers_with_stake().err(),
@@ -1394,7 +1362,6 @@ mod tests {
13941362
assert!(service.next_protocol_parameters().is_ok());
13951363
assert!(service.signer_registration_protocol_parameters().is_ok());
13961364
assert!(service.current_cardano_transactions_signing_config().is_ok());
1397-
assert!(service.next_cardano_transactions_signing_config().is_ok());
13981365
assert!(service.current_signers_with_stake().is_ok());
13991366
assert!(service.next_signers_with_stake().is_ok());
14001367
assert!(service.current_signers().is_ok());

mithril-aggregator/src/services/message.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -165,18 +165,13 @@ impl MessageService for MithrilMessageService {
165165
.map(|_| epoch_service.current_cardano_transactions_signing_config())
166166
.transpose()?
167167
.cloned();
168-
let next_cardano_transactions_signing_config = cardano_transactions_discriminant
169-
.map(|_| epoch_service.next_cardano_transactions_signing_config())
170-
.transpose()?
171-
.cloned();
172168

173169
let epoch_settings_message = EpochSettingsMessage {
174170
epoch,
175171
signer_registration_protocol_parameters,
176172
current_signers: SignerMessagePart::from_signers(current_signers.to_vec()),
177173
next_signers: SignerMessagePart::from_signers(next_signers.to_vec()),
178174
cardano_transactions_signing_config,
179-
next_cardano_transactions_signing_config,
180175
};
181176

182177
Ok(epoch_settings_message)
@@ -472,13 +467,6 @@ mod tests {
472467
step: BlockNumber(15)
473468
})
474469
);
475-
assert_eq!(
476-
message.next_cardano_transactions_signing_config,
477-
Some(CardanoTransactionsSigningConfig {
478-
security_parameter: BlockNumber(0),
479-
step: BlockNumber(15)
480-
})
481-
);
482470
}
483471

484472
#[tokio::test]
@@ -498,7 +486,6 @@ mod tests {
498486
.unwrap();
499487

500488
assert!(message.cardano_transactions_signing_config.is_some());
501-
assert!(message.next_cardano_transactions_signing_config.is_some(),);
502489
}
503490

504491
#[tokio::test]
@@ -516,7 +503,6 @@ mod tests {
516503
.unwrap();
517504

518505
assert_eq!(message.cardano_transactions_signing_config, None);
519-
assert_eq!(message.next_cardano_transactions_signing_config, None);
520506
}
521507

522508
#[tokio::test]
@@ -597,10 +583,6 @@ mod tests {
597583
message.cardano_transactions_signing_config,
598584
Some(current_epoch_settings.cardano_transactions_signing_config),
599585
);
600-
assert_eq!(
601-
message.next_cardano_transactions_signing_config,
602-
Some(next_epoch_settings.cardano_transactions_signing_config),
603-
);
604586
}
605587
}
606588

mithril-aggregator/src/test/double/dummies.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,6 @@ mod entities {
8181
// Cardano transactions signing configuration
8282
let cardano_transactions_signing_config =
8383
Some(CardanoTransactionsSigningConfig::dummy());
84-
let next_cardano_transactions_signing_config =
85-
Some(CardanoTransactionsSigningConfig::dummy());
8684

8785
// Signer Epoch settings
8886
LeaderAggregatorEpochSettings {
@@ -91,7 +89,6 @@ mod entities {
9189
current_signers,
9290
next_signers,
9391
cardano_transactions_signing_config,
94-
next_cardano_transactions_signing_config,
9592
}
9693
}
9794
}

mithril-common/src/messages/epoch_settings.rs

Lines changed: 56 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ pub struct EpochSettingsMessage {
2121
/// Cardano transactions signing configuration for the current epoch
2222
#[serde(skip_serializing_if = "Option::is_none")]
2323
pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
24-
25-
/// Cardano transactions signing configuration for the next epoch
26-
#[serde(skip_serializing_if = "Option::is_none")]
27-
pub next_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
2824
}
2925

3026
#[cfg(test)]
@@ -54,13 +50,57 @@ mod tests {
5450
"cardano_transactions_signing_config": {
5551
"security_parameter": 70,
5652
"step": 20
57-
},
58-
"next_cardano_transactions_signing_config": {
59-
"security_parameter": 50,
60-
"step": 10
6153
}
6254
}"#;
6355

56+
#[derive(Debug, Serialize, Deserialize, PartialEq)]
57+
struct EpochSettingsMessageUntilV0_1_51 {
58+
pub epoch: Epoch,
59+
60+
#[serde(rename = "signer_registration_protocol")]
61+
pub signer_registration_protocol_parameters: ProtocolParameters,
62+
63+
pub current_signers: Vec<SignerMessagePart>,
64+
65+
pub next_signers: Vec<SignerMessagePart>,
66+
67+
#[serde(skip_serializing_if = "Option::is_none")]
68+
pub cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
69+
70+
#[serde(skip_serializing_if = "Option::is_none")]
71+
pub next_cardano_transactions_signing_config: Option<CardanoTransactionsSigningConfig>,
72+
}
73+
74+
fn golden_message_until_open_api_0_1_51() -> EpochSettingsMessageUntilV0_1_51 {
75+
EpochSettingsMessageUntilV0_1_51 {
76+
epoch: Epoch(10),
77+
signer_registration_protocol_parameters: ProtocolParameters {
78+
k: 500,
79+
m: 10000,
80+
phi_f: 0.65,
81+
},
82+
current_signers: vec![SignerMessagePart {
83+
party_id: "123".to_string(),
84+
verification_key: "key_123".to_string(),
85+
verification_key_signature: Some("signature_123".to_string()),
86+
operational_certificate: Some("certificate_123".to_string()),
87+
kes_period: Some(12),
88+
}],
89+
next_signers: vec![SignerMessagePart {
90+
party_id: "456".to_string(),
91+
verification_key: "key_456".to_string(),
92+
verification_key_signature: Some("signature_456".to_string()),
93+
operational_certificate: Some("certificate_456".to_string()),
94+
kes_period: Some(45),
95+
}],
96+
cardano_transactions_signing_config: Some(CardanoTransactionsSigningConfig {
97+
security_parameter: BlockNumber(70),
98+
step: BlockNumber(20),
99+
}),
100+
next_cardano_transactions_signing_config: None,
101+
}
102+
}
103+
64104
fn golden_current_message() -> EpochSettingsMessage {
65105
EpochSettingsMessage {
66106
epoch: Epoch(10),
@@ -87,13 +127,17 @@ mod tests {
87127
security_parameter: BlockNumber(70),
88128
step: BlockNumber(20),
89129
}),
90-
next_cardano_transactions_signing_config: Some(CardanoTransactionsSigningConfig {
91-
security_parameter: BlockNumber(50),
92-
step: BlockNumber(10),
93-
}),
94130
}
95131
}
96132

133+
#[test]
134+
fn test_current_json_deserialized_into_message_supported_until_open_api_0_1_51() {
135+
let json = CURRENT_JSON;
136+
let message: EpochSettingsMessageUntilV0_1_51 = serde_json::from_str(json).unwrap();
137+
138+
assert_eq!(golden_message_until_open_api_0_1_51(), message);
139+
}
140+
97141
#[test]
98142
fn test_current_json_deserialized_into_current_message() {
99143
let json = CURRENT_JSON;

mithril-common/src/test/double/dummies.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,6 @@ mod messages {
412412
current_signers: [SignerMessagePart::dummy()].to_vec(),
413413
next_signers: [SignerMessagePart::dummy()].to_vec(),
414414
cardano_transactions_signing_config: Some(CardanoTransactionsSigningConfig::dummy()),
415-
next_cardano_transactions_signing_config: Some(
416-
CardanoTransactionsSigningConfig::dummy(),
417-
),
418415
}
419416
}
420417
}

mithril-signer/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-signer"
3-
version = "0.2.268"
3+
version = "0.2.269"
44
description = "A Mithril Signer"
55
authors = { workspace = true }
66
edition = { workspace = true }

0 commit comments

Comments
 (0)