@@ -7,7 +7,9 @@ use tokio::sync::{Mutex, MutexGuard};
77
88use mithril_common:: {
99 CardanoNetwork , StdResult ,
10- crypto_helper:: { OpCert , TryFromBytes } ,
10+ crypto_helper:: {
11+ OpCert , OpCertWithoutColdVerificationKey , TryFromBytes , ed25519:: Ed25519VerificationKey ,
12+ } ,
1113 entities:: PartyId ,
1214 logging:: LoggerExtensions ,
1315} ;
@@ -113,10 +115,19 @@ impl<M: TryFromBytes + Debug> DmqConsumerClientPallas<M> {
113115 . 0
114116 . into_iter ( )
115117 . map ( |dmq_message| {
116- let opcert = OpCert :: try_from_bytes ( & dmq_message. operational_certificate )
118+ let opcert_without_verification_key =
119+ OpCertWithoutColdVerificationKey :: try_from_bytes (
120+ & dmq_message. operational_certificate ,
121+ )
117122 . with_context ( || "Failed to parse operational certificate" ) ?;
123+ let cold_verification_key =
124+ Ed25519VerificationKey :: from_bytes ( & dmq_message. cold_verification_key )
125+ . with_context ( || "Failed to parse cold verification key" ) ?
126+ . into_inner ( ) ;
127+ let opcert: OpCert =
128+ ( opcert_without_verification_key, cold_verification_key) . into ( ) ;
118129 let party_id = opcert. compute_protocol_party_id ( ) ?;
119- let payload = M :: try_from_bytes ( & dmq_message. msg_body )
130+ let payload = M :: try_from_bytes ( & dmq_message. msg_payload . msg_body )
120131 . with_context ( || "Failed to parse DMQ message body" ) ?;
121132
122133 Ok ( ( payload, party_id) )
@@ -158,7 +169,10 @@ mod tests {
158169 use mithril_common:: { crypto_helper:: TryToBytes , current_function, test:: TempDir } ;
159170 use pallas_network:: {
160171 facades:: DmqServer ,
161- miniprotocols:: { localmsgnotification, localmsgsubmission:: DmqMsg } ,
172+ miniprotocols:: {
173+ localmsgnotification,
174+ localmsgsubmission:: { DmqMsg , DmqMsgPayload } ,
175+ } ,
162176 } ;
163177 use tokio:: { net:: UnixListener , task:: JoinHandle , time:: sleep} ;
164178
@@ -173,41 +187,46 @@ mod tests {
173187 fn fake_msgs ( ) -> Vec < DmqMsg > {
174188 vec ! [
175189 DmqMsg {
176- msg_id: vec![ 0 , 1 ] ,
177- msg_body: DmqMessageTestPayload :: new( b"msg_1" ) . to_bytes_vec( ) . unwrap( ) ,
178- block_number: 10 ,
179- ttl: 100 ,
190+ msg_payload: DmqMsgPayload {
191+ msg_id: vec![ 0 , 1 ] ,
192+ msg_body: DmqMessageTestPayload :: new( b"msg_1" ) . to_bytes_vec( ) . unwrap( ) ,
193+ kes_period: 10 ,
194+ expires_at: 100 ,
195+ } ,
180196 kes_signature: vec![ 0 , 1 , 2 , 3 ] ,
181197 operational_certificate: vec![
182- 130 , 132 , 88 , 32 , 230 , 80 , 215 , 83 , 21 , 9 , 187 , 108 , 255 , 215 , 153 , 140 , 40 ,
183- 198 , 142 , 78 , 200 , 250 , 98 , 26 , 9 , 82 , 32 , 110 , 161 , 30 , 176 , 63 , 205 , 125 ,
184- 203 , 41 , 0 , 0 , 88 , 64 , 212 , 171 , 206 , 39 , 218 , 5 , 255 , 3 , 193 , 52 , 44 , 198 ,
185- 171 , 83 , 19 , 80 , 114 , 225 , 186 , 191 , 156 , 192 , 84 , 146 , 245 , 159 , 31 , 240 , 9 ,
186- 247 , 4 , 87 , 170 , 168 , 98 , 199 , 21 , 139 , 19 , 190 , 12 , 251 , 65 , 215 , 169 , 26 , 86 ,
187- 37 , 137 , 188 , 17 , 14 , 178 , 205 , 175 , 93 , 39 , 86 , 4 , 138 , 187 , 234 , 95 , 5 , 88 ,
188- 32 , 32 , 253 , 186 , 201 , 177 , 11 , 117 , 135 , 187 , 167 , 181 , 188 , 22 , 59 , 206 , 105 ,
198+ 132 , 88 , 32 , 230 , 80 , 215 , 83 , 21 , 9 , 187 , 108 , 255 , 215 , 153 , 140 , 40 , 198 ,
199+ 142 , 78 , 200 , 250 , 98 , 26 , 9 , 82 , 32 , 110 , 161 , 30 , 176 , 63 , 205 , 125 , 203 , 41 ,
200+ 0 , 0 , 88 , 64 , 212 , 171 , 206 , 39 , 218 , 5 , 255 , 3 , 193 , 52 , 44 , 198 , 171 , 83 , 19 ,
201+ 80 , 114 , 225 , 186 , 191 , 156 , 192 , 84 , 146 , 245 , 159 , 31 , 240 , 9 , 247 , 4 , 87 ,
202+ 170 , 168 , 98 , 199 , 21 , 139 , 19 , 190 , 12 , 251 , 65 , 215 , 169 , 26 , 86 , 37 , 137 ,
203+ 188 , 17 , 14 , 178 , 205 , 175 , 93 , 39 , 86 , 4 , 138 , 187 , 234 , 95 , 5 ,
204+ ] ,
205+ cold_verification_key: vec![
206+ 32 , 253 , 186 , 201 , 177 , 11 , 117 , 135 , 187 , 167 , 181 , 188 , 22 , 59 , 206 , 105 ,
189207 231 , 150 , 215 , 30 , 78 , 212 , 76 , 16 , 252 , 180 , 72 , 134 , 137 , 247 , 161 , 68 ,
190208 ] ,
191- kes_period: 10 ,
192209 } ,
193210 DmqMsg {
194- msg_id: vec![ 1 , 2 ] ,
195- msg_body: DmqMessageTestPayload :: new( b"msg_2" ) . to_bytes_vec( ) . unwrap( ) ,
196- block_number: 11 ,
197- ttl: 100 ,
211+ msg_payload: DmqMsgPayload {
212+ msg_id: vec![ 1 , 2 ] ,
213+ msg_body: DmqMessageTestPayload :: new( b"msg_2" ) . to_bytes_vec( ) . unwrap( ) ,
214+ kes_period: 11 ,
215+ expires_at: 101 ,
216+ } ,
198217 kes_signature: vec![ 1 , 2 , 3 , 4 ] ,
199218 operational_certificate: vec![
200- 130 , 132 , 88 , 32 , 230 , 80 , 215 , 83 , 21 , 9 , 187 , 108 , 255 , 215 , 153 , 140 , 40 ,
201- 198 , 142 , 78 , 200 , 250 , 98 , 26 , 9 , 82 , 32 , 110 , 161 , 30 , 176 , 63 , 205 , 125 ,
202- 203 , 41 , 0 , 0 , 88 , 64 , 132 , 4 , 199 , 39 , 190 , 173 , 88 , 102 , 121 , 117 , 55 , 62 ,
203- 39 , 189 , 113 , 96 , 175 , 24 , 171 , 240 , 74 , 42 , 139 , 202 , 128 , 185 , 44 , 130 , 209 ,
204- 77 , 191 , 122 , 196 , 224 , 33 , 158 , 187 , 156 , 203 , 190 , 173 , 150 , 247 , 87 , 172 ,
205- 58 , 153 , 185 , 157 , 87 , 128 , 14 , 187 , 107 , 187 , 215 , 105 , 195 , 107 , 135 , 172 ,
206- 43 , 173 , 9 , 88 , 32 , 77 , 75 , 24 , 6 , 47 , 133 , 2 , 89 , 141 , 224 , 69 , 202 , 123 , 105 ,
207- 240 , 103 , 245 , 159 , 147 , 177 , 110 , 58 , 248 , 115 , 58 , 152 , 138 , 220 , 35 , 65 ,
208- 245 , 200 ,
219+ 132 , 88 , 32 , 230 , 80 , 215 , 83 , 21 , 9 , 187 , 108 , 255 , 215 , 153 , 140 , 40 , 198 ,
220+ 142 , 78 , 200 , 250 , 98 , 26 , 9 , 82 , 32 , 110 , 161 , 30 , 176 , 63 , 205 , 125 , 203 , 41 ,
221+ 0 , 0 , 88 , 64 , 212 , 171 , 206 , 39 , 218 , 5 , 255 , 3 , 193 , 52 , 44 , 198 , 171 , 83 , 19 ,
222+ 80 , 114 , 225 , 186 , 191 , 156 , 192 , 84 , 146 , 245 , 159 , 31 , 240 , 9 , 247 , 4 , 87 ,
223+ 170 , 168 , 98 , 199 , 21 , 139 , 19 , 190 , 12 , 251 , 65 , 215 , 169 , 26 , 86 , 37 , 137 ,
224+ 188 , 17 , 14 , 178 , 205 , 175 , 93 , 39 , 86 , 4 , 138 , 187 , 234 , 95 , 5 ,
225+ ] ,
226+ cold_verification_key: vec![
227+ 77 , 75 , 24 , 6 , 47 , 133 , 2 , 89 , 141 , 224 , 69 , 202 , 123 , 105 , 240 , 103 , 245 , 159 ,
228+ 147 , 177 , 110 , 58 , 248 , 115 , 58 , 152 , 138 , 220 , 35 , 65 , 245 , 200 ,
209229 ] ,
210- kes_period: 11 ,
211230 } ,
212231 ]
213232 }
0 commit comments