Skip to content

Commit b56cdc8

Browse files
authored
Merge pull request #2636 from input-output-hk/jpraynaud/2622-fix-kes-pallas
fix(dmq): add missing KES period in 'DmqMsg'
2 parents e52b52a + 841640e commit b56cdc8

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

Cargo.lock

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

internal/mithril-dmq/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "mithril-dmq"
33
description = "Mechanisms to publish and consume messages of a 'Decentralized Message Queue network' through a DMQ node"
4-
version = "0.1.2"
4+
version = "0.1.3"
55
authors.workspace = true
66
documentation.workspace = true
77
edition.workspace = true

internal/mithril-dmq/src/consumer/pallas.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ mod tests {
177177
32, 32, 253, 186, 201, 177, 11, 117, 135, 187, 167, 181, 188, 22, 59, 206, 105,
178178
231, 150, 215, 30, 78, 212, 76, 16, 252, 180, 72, 134, 137, 247, 161, 68,
179179
],
180+
kes_period: 10,
180181
},
181182
DmqMsg {
182183
msg_id: vec![1, 2],
@@ -195,6 +196,7 @@ mod tests {
195196
240, 103, 245, 159, 147, 177, 110, 58, 248, 115, 58, 152, 138, 220, 35, 65,
196197
245, 200,
197198
],
199+
kes_period: 11,
198200
},
199201
]
200202
}

internal/mithril-dmq/src/message.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ impl DmqMessageBuilder {
4646
hasher.update(dmq_message.ttl.to_be_bytes());
4747
hasher.update(&dmq_message.kes_signature);
4848
hasher.update(&dmq_message.operational_certificate);
49+
hasher.update(dmq_message.kes_period.to_be_bytes());
4950

5051
hasher.finalize().to_vec()
5152
}
@@ -66,13 +67,20 @@ impl DmqMessageBuilder {
6667
.kes_signer
6768
.sign(message_bytes, block_number)
6869
.with_context(|| "Failed to KES sign message while building DMQ message")?;
70+
let kes_period = self
71+
.chain_observer
72+
.get_current_kes_period(&operational_certificate)
73+
.await
74+
.with_context(|| "Failed to get KES period while building DMQ message")?
75+
.unwrap_or_default();
6976
let mut dmq_message = DmqMsg {
7077
msg_id: vec![],
7178
msg_body: message_bytes.to_vec(),
7279
block_number,
7380
ttl: self.ttl_blocks,
7481
kes_signature: kes_signature.to_bytes_vec()?,
7582
operational_certificate: operational_certificate.to_bytes_vec()?,
83+
kes_period,
7684
};
7785
dmq_message.msg_id = compute_msg_id(&dmq_message);
7886

@@ -134,6 +142,7 @@ mod tests {
134142
ttl: 100,
135143
kes_signature: kes_signature.to_bytes_vec().unwrap(),
136144
operational_certificate: operational_certificate.to_bytes_vec().unwrap(),
145+
kes_period: 0,
137146
},
138147
DmqMsg {
139148
msg_id: vec![],

0 commit comments

Comments
 (0)