@@ -2045,4 +2045,64 @@ mod test {
2045
2045
RejectReason :: Unknown ( RejectReasonPrefix :: Unknown as u8 )
2046
2046
) ;
2047
2047
}
2048
+
2049
+ #[ test]
2050
+ fn test_deserialize_state_machine_update ( ) {
2051
+ let signer_message = StateMachineUpdate {
2052
+ burn_block : ConsensusHash :: from_bytes ( & [ 0x55 ; 20 ] ) . unwrap ( ) ,
2053
+ burn_block_height : 100 ,
2054
+ current_miner_pkh : Hash160 :: from_data ( & [ 0xab ; 32 ] ) ,
2055
+ parent_tenure_id : ConsensusHash :: from_bytes ( & [ 0x22 ; 20 ] ) . unwrap ( ) ,
2056
+ parent_tenure_last_block : StacksBlockId ( [ 0x33u8 ; 32 ] ) ,
2057
+ parent_tenure_last_block_height : 1 ,
2058
+ active_signer_protocol_version : 2 ,
2059
+ local_supported_signer_protocol_version : 3 ,
2060
+ } ;
2061
+
2062
+ let mut bytes = vec ! [ ] ;
2063
+ signer_message. consensus_serialize ( & mut bytes) . unwrap ( ) ;
2064
+
2065
+ let signer_message_deserialized =
2066
+ StateMachineUpdate :: consensus_deserialize ( & mut & bytes[ ..] ) . unwrap ( ) ;
2067
+
2068
+ assert_eq ! (
2069
+ signer_message. burn_block,
2070
+ signer_message_deserialized. burn_block
2071
+ ) ;
2072
+
2073
+ assert_eq ! (
2074
+ signer_message. burn_block_height,
2075
+ signer_message_deserialized. burn_block_height
2076
+ ) ;
2077
+
2078
+ assert_eq ! (
2079
+ signer_message. current_miner_pkh,
2080
+ signer_message_deserialized. current_miner_pkh
2081
+ ) ;
2082
+
2083
+ assert_eq ! (
2084
+ signer_message. parent_tenure_id,
2085
+ signer_message_deserialized. parent_tenure_id
2086
+ ) ;
2087
+
2088
+ assert_eq ! (
2089
+ signer_message. parent_tenure_last_block,
2090
+ signer_message_deserialized. parent_tenure_last_block
2091
+ ) ;
2092
+
2093
+ assert_eq ! (
2094
+ signer_message. parent_tenure_last_block_height,
2095
+ signer_message_deserialized. parent_tenure_last_block_height
2096
+ ) ;
2097
+
2098
+ assert_eq ! (
2099
+ signer_message. active_signer_protocol_version,
2100
+ signer_message_deserialized. active_signer_protocol_version
2101
+ ) ;
2102
+
2103
+ assert_eq ! (
2104
+ signer_message. local_supported_signer_protocol_version,
2105
+ signer_message_deserialized. local_supported_signer_protocol_version
2106
+ ) ;
2107
+ }
2048
2108
}
0 commit comments